Bonjour,
Je souhaite rediriger une requête de concaténation sur ma première table (3 champs) vers ma seconde table (2 champs au lieu de 3) de façon à ce qu'elle la remplisse
Bon, si je fais deux INSERT INTO :
première colonne:
seconde colonne (concaténation):Code:INSERT INTO table2 (produit) SELECT produit FROM table1
Ca rempli bien la base mais au lieu de me mettreCode:INSERT INTO table2 (nom) SELECT CONCAT(prefixe,suffixe) AS nom FROM table1
|produit1|nom1(=prefixe1+suffixe1)|
|produit2|nom2(=prefixe2+suffixe2)|
j'obtiens
|produit1| (vide) |
|produit2| (vide) |
| (vide) |nom1(=prefixe2+suffixe2)|
| (vide) |nom2(=prefixe2+suffixe2)|
Là, je comprends bien ce qui se passe puisque j'ai un auto-incrément la seconde requête poursuit l'incrémentation.
J'ai donc essayé ça pour n'avoir qu'une seule requête remplissant mes deux colonnes (une seule incrémentation théoriquement):
J'obtiens un #1242 - Subquery returns more than 1 rowCode:INSERT INTO table2 (produit,nom) VALUES ((SELECT produit FROM table1),(SELECT CONCAT(prefixe,suffixe) AS nom FROM table1))
Je ne comprends pas où se situe le problème... J'ai passé un bon moment sur Google sans résultat! Est-ce que j'ai loupé quelque chose? Quelqu'un a-t-il une idée?
Merci d'avance
N.