2009-03-25 9 views

Répondre

213

Vous pouvez utiliser la fonction CONCAT pour le faire:

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

Si vous souhaitez obtenir plus intelligents et que des colonnes de mise à jour qui n'ont pas déjà essai avec ajout initial , essayez

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

C'est simple

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

Corrigez jusqu'à la clause WHERE, où vous concattez uniquement le test aux colonnes commençant déjà par test. donc: foo -> foo footest -> footest testfoo -> testtestfoo –

+0

Merci, pense que je suis la mauvaise question :) – soulmerge

15
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...] 
+0

mise à jour BILLET set status_details = concat (_details d'état, 'abc') où ticket_id = 75108; ERREUR 1583 (42000): Paramètres incorrects dans l'appel à la fonction native 'CONCAT' –

5

beaucoup de fonctions de mise à jour de chaîne dans myqsl semblent fonctionner comme ceci: si un argument est nul, alors, la concaténation ou d'autres fonctions renvoient aussi null. Ainsi, pour mettre à jour un champ avec une valeur nulle, d'abord il réglé à une valeur non nulle, comme ''

Ex:

update table set field='' where field is null; 
update table set field=concat(field,' append'); 
0
  • UPDATE nom_table SET Column1 = CONCAT ('newtring », table_name.Column1) où 1
  • UPDATE nom_table SET Column1 = CONCAT ('newtring', table_name.Column2) où 1
  • UPDATE nom_table SET Column1 = CONCAT ('newtring', table_name.Column2, 'newtring2') où 1

Nous pouvons concaténer la même colonne ou l'autre colonne du tableau.

Questions connexes