Bonjour,
Je cherche à insérer une ligne dans une table en effectuant une sélection sur une ligne déjà existante, en valorisant une colonne de ma nouvelle ligne à partir d'une autre colonne de la ligne existante, qui est elle-même mise à jour dans ma nouvelle ligne.
Pour être plus clair voici un exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 INSERT INTO table (colonne1, colonne2, colonne3) SELECT colonne1, colonne3, 'ccc' FROM table WHERE colonne1 = 'xxx'
Si dans ma ligne d'origine j'ai les données suivantes:
'xxx' | 'aaa' | 'bbb'
Je veux que la ligne insérée soit celle-ci :
'xxx' | 'bbb' | 'ccc'
Mais j'obtiens :
'xxx' | 'ccc' | 'ccc'
Comme si la valeur de colonne3 utilisée pour valoriser la colonne2 n'était pas celle de la ligne d'origine mais celle de la ligne que j'insère.
Est-ce normal ?
Comment peut-on contourner ce problème ?
Merci d'avance pour vos réponses.
Partager