par
Cyrano » 02 août 2005, 09:36
Je ne sias pas si c'est possible, mais en théorie, ça devrait davantage ressembler à :
Code : Tout sélectionner
UPDATE table_1
SET champ = CONCAT(SELECT champ_1, champ_2 FROM table2 WHERE id = 'identifiant');
Le problème, c'est que je ne suis pas certain que MySQL accepte cette imbrication, et de toute façon ce sera rejeté avec une version inférieure à 4.1
La solution probable: deux requête et un traitement de concaténation par programmation entre les deux, la première requête pour récupérer dans la seconde table les champs à concaténer, la secondepour mettre à jour la première table.
Ceci dit, ce que tu veux faire, ça revient à mettre un "champ calculé" dans ta base de données, ce qu'on évite en général de faire dans une base optimisée.
Je ne sias pas si c'est possible, mais en théorie, ça devrait davantage ressembler à :
[code]UPDATE table_1
SET champ = CONCAT(SELECT champ_1, champ_2 FROM table2 WHERE id = 'identifiant');[/code]
Le problème, c'est que je ne suis pas certain que MySQL accepte cette imbrication, et de toute façon ce sera rejeté avec une version inférieure à 4.1
La solution probable: deux requête et un traitement de concaténation par programmation entre les deux, la première requête pour récupérer dans la seconde table les champs à concaténer, la secondepour mettre à jour la première table.
Ceci dit, ce que tu veux faire, ça revient à mettre un "champ calculé" dans ta base de données, ce qu'on évite en général de faire dans une base optimisée.