MySQL INSERT avec plusieurs SELECT imbriqués
Est une requête de ce possible? MySQL me donne une erreur de Syntaxe. Plusieurs insérez-les valeurs avec imbriqués sélectionne...
INSERT INTO pv_indices_fields (index_id, veld_id)
VALUES
('1', SELECT id FROM pv_fields WHERE col1='76' AND col2='val1'),
('1', SELECT id FROM pv_fields WHERE col1='76' AND col2='val2')
source d'informationauteur netiul
Vous devez vous connecter pour publier un commentaire.
J'ai juste testé le suivant (qui fonctionne):
insert into test (id1, id2) values (1, (select max(id) from test2)), (2, (select max(id) from test2));
J'imagine que le problème, c'est que vous n'avez pas (le)s autour de votre sélectionne que cette requête ne pourrait pas fonctionner sans elle.
Lorsque vous avez une sous-requête comme ça, elle doit retourner une colonne et une ligne seulement. Si votre sous-requêtes ne retour la ligne, alors vous avez besoin des parenthèses autour d'eux, comme @Thor84no remarqué.
Si elles reviennent (ou pourrait-retour) plus de ligne, essayez plutôt ceci:
ou si vos conditions sont très différentes: