[INSERT][SELECT] insert avec un select imbriqué
bonjour,
je souhaiterais faire quelque chose du genre :
Code:
insert into entry values(gen_id(IDENT, 1), 'TODAY', '11111111', 'ESPECE', '', 'écriture 1', 55, 'DEBIT', 'NON', select id from account where label='sct A');
Mais, cette écriture ne passe pas.
Comment pourrais-je arriver au même résultat s'il vous plait ?
merci.
Re: [INSERT][SELECT] insert avec un select imbriqué
Citation:
Envoyé par narmataru
Code:
insert into entry values(gen_id(IDENT, 1), 'TODAY', '11111111', 'ESPECE', '', 'écriture 1', 55, 'DEBIT', 'NON', select id from account where label='sct A');
Tu ne peux pas mixer des valeurs avec un select, c'est soit l'un soit l'autre.
Code:
insert into MaTable (Col1, Col2, Col3) values ('MaValeur', 12345, 'TODAY');
oubien
Code:
insert into MaTable (Col1, Col2, Col3) values select ColA, ColB, ColC from AutreTable where ColD='Toto';
Cependant rien ne t'empéche de ruser...
Code:
insert into entry (Mieux, Vaux, Preciser, Le, Nom, De, Tes, Dix, Colonnes) values select gen_id(IDENT, 1), 'TODAY', '11111111', 'ESPECE', '', 'écriture 1', 55, 'DEBIT', 'NON', id from account where label='sct A';
MÊME CHOSE AVEC UN SELECT MULTIPLE
Bonjour
Peut-on faire la même chose avec un SELECT donnant plusieurs lignes comme:
Code:
1 2 3 4 5 6
| INSERT INTO table1
(listid, subid, subdate,unsubdate,`status`)
VALUES SELECT '1', s.subid, 'TODAY', NULL, '1'
FROM table2 s
LEFT JOIN table1 l on s.subid = l.subid
WHERE l.listid IS NULL; |
En l'état j'obtiens une erreur syntaxe:
Code:
1 2 3
| #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT '1', s.subid, 'TODAY', NULL, '1'
FROM `table2` s
LEF' at line 3 |
Mais je ne vois pas l'erreur de syntaxe.:roll: