133 votes

Comment ajouter une chaîne à une valeur de colonne dans MySQL?

J'ai besoin d'une instruction de mise à jour SQL pour mettre à jour un champ particulier de toutes les lignes avec une chaîne "test" à ajouter au début de la valeur existante.

Par exemple, si la valeur existante est "try", elle devrait devenir "testtry".

274voto

Paul Dixon Points 122033

Vous pouvez utiliser la fonction CONCAT pour le faire:

 UPDATE tbl SET col=CONCAT('test',col);
 

Si vous voulez être plus intelligent et ne mettre à jour que les colonnes pour lesquelles le test n’a pas encore été ajouté, essayez

 UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
 

16voto

Ferdinand Beyer Points 27723
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]

9voto

bvidinli Points 31

Beaucoup de fonctions de mise à jour de chaînes dans myqsl semblent fonctionner comme ceci: si un argument est nul, la concaténation ou d'autres fonctions renvoient également la valeur null. Donc, pour mettre à jour un champ avec une valeur nulle, commencez par le définir sur une valeur non nulle, telle que ''

Pour ex:

 update table set field='' where field is null;
update table set field=concat(field,' append');
 

6voto

soulmerge Points 37314

C'est simple

 UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);
 

0voto

user3419778 Points 3
  • UPDATE nom_table SET Colonne1 = CONCAT ('newtring', nom_table.Colonne1) où 1
  • UPDATE nom_table SET Colonne1 = CONCAT ('newtring', nom_table.Colonne2) où 1
  • UPDATE nom_table SET Colonne1 = CONCAT ('newtring', nom_table.Colonne2, 'newtring2') où 1

Nous pouvons concattre la même colonne ou aussi une autre colonne de la table.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X