2010-10-01 3 views

Répondre

2
insert into sycle(name,password) 
select name, password from name_table 

ou si le mot de passe est une variable:

insert into sycle(name,password) 
select name, @password from name_table 

si le mot de passe est 'nom' alors:

insert into sycle(name,password) 
select name, 'name' from name_table 
+0

non je veux coder en dur une valeur 'nom' comme mot de passe .... ce ne vient pas de la table .... –

+0

@sanjay pandey, voir ma mise à jour. – adam0101

1

Essayez:

INSERT INTO sycle(name,password) VALUES (SELECT name, 'name' FROM name_table); 

bien que cela ne prendra que nom unique de name_table. Si vous voulez obtenir un tas de valeurs faire:

INSERT INTO sycle(name,password) SELECT name, 'name' FROM name_table; 
+0

ça ne marche pas essayé –

+0

quel est votre rdbms? Utilisez-vous mysql ou sql server? –

+0

la 2ème requête fonctionne parfaitement ........... merci beaucoup pour cette aide –

1

C'est ce que vous cherchez:

INSERT INTO sycle 
(
    name 
    ,password 
) 
SELECT name 
     ,NULL -- password 
FROM name_table 
+0

son ne fonctionne pas après utilisation - toute la requête restante est commentée –

+0

Oui, le double tiret est un commentaire. Assurez-vous qu'il y a une nouvelle ligne après le mot de passe ou supprimez complètement '- password'. – Brad

0

pour cette solution

insert en nom select sycle, » name 'from name_table

+1

Cela ne fonctionnera pas si vous avez plus de deux colonnes dans scycle, ou si les colonnes ne sont pas dans l'ordre désiré. –

+0

Très vrai, mais nous n'avons pas vraiment accès aux structures et je le dirigeais juste dans la bonne direction - cela aurait dû rendre le code un peu plus défensif. Tu as raison. – bigtang

Questions connexes