Requêtes imbriquées en MySQL ?

'lut les Geeks,

J’essaye de faire des reqûetes imbriquées en MySQL mais y veut pas. Chuis super malheureux. Bouhouhouh.
Vla le code :
INSERT INTO hc_articles (titre,numero) VALUE(‘pouet’,SELECT ID FROM hc_numeros WHERE revue=18 AND num=114);

Vous savez pourquoi ?
Thx
Antoine

INSERT INTO hc_articles (titre,numero) VALUE('pouet',SELECT ID FROM hc_numeros WHERE revue=18 AND num=114); 
aargl! En plus par rapport à ce que tu demandes il n'y a pas besoin de requêtes imbriquées.

Moi je verrais cela comme ça:

INSERT INTO hc_articles (titre,numero) SELECT 'pouet', ID FROM hc_numeros WHERE revue=18 AND num=114;
[url="http://www.nexen.net/docs/mysql/annotee/insert-select.php?lien=insert"]Doc MySQL chez nexen (tip top )   : 6.4.3.1 Syntaxe de INSERT ... SELECT [/url]

Note/edit: je connais très bien le language SQL mais je n’ai jamais fait de MySql.

Ce message a été édité par phili_b le 09/02/2004

je sais pas si c’est parce que tu as retranscrit la requête en vitesse mais c’est :

INSERT INTO hc_articles VALUES

Edit : vi phili_b, c’est plutôt ça !
Ce message a été édité par Snake76 le 09/02/2004

Snake76 je n’ai pas compris ta phrase. (ton edit infirme ou confirme le reste de ton post ?)

Quoiqu’il en soit ou bien on a

INSERT INTO TOTO (Cola,Colb,Colc,Cold) VALUES ('a','b','c','d')
ou bien on a
INSERT INTO TOTO (Cola,Colb,Colc,Cold) SELECT Cola,Colb,Colc,Cold FROM TITI where etc..
Autrement dit le VALUES n'est pas à mettre dans le 2é cas (en tout cas en SQL standard et d'après la doc de MySql referencée dans mon précédent message  ) .

Ce message a été édité par phili_b le 09/02/2004

Désolé, je confirmais ce que tu disais ! testé et approuvé
à savoir :

INSERT INTO hc_articles SELECT 'pouet', ID FROM hc_numeros WHERE revue=18 AND num=114;[/quote][i]Ce message a été édité par Snake76 le 09/02/2004[/i]

Bah merci les gars. Bon finalement j’ai conclu l’affaire à la trash en faisant plusieurs requêtes. C’était juste un traitement unique avec du SQL généré par un chtit prog en C maison.
Mais après avoir lu le SELECT…INSERT je dis “vive les fleurs”.
Toutefois quelque chose m’interpelle dans le fameux :

INSERT INTO hc_articles SELECT ‘pouet’, ID FROM hc_numeros WHERE revue=18 AND num=114;

Supposons que le “ID FROM hc_numeros WHERE revue=18 AND num=14” retourne plusieurs IDs, keskispasse ?

Antoine

La réponse est que plusieurs lignes vont être inserées:
‘pouet’,2
’pouet’,4
’pouet’,9

Ta constante ‘pouet’ va être repétée.
Ce message a été édité par phili_b le 10/02/2004