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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO table2 (produit) SELECT produit FROM table1
seconde colonne (concaténation):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO table2 (nom) SELECT CONCAT(prefixe,suffixe) AS nom FROM table1
Ca rempli bien la base mais au lieu de me mettre
|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):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO table2 (produit,nom) VALUES ((SELECT produit FROM table1),(SELECT CONCAT(prefixe,suffixe) AS nom FROM table1))
J'obtiens un #1242 - Subquery returns more than 1 row
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.