2009-03-25 13 views

Respuesta

213

Usted puede utilizar la función CONCAT de hacer eso:

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

Si desea obtener columnas de actualización más inteligentes y sólo que ya no han antepone prueba , tratar

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

Eso es muy simple

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

Corrija la cláusula WHERE, donde solo prueba concat a las columnas que ya comienzan con la prueba. Así : foo -> foo footest -> footest testfoo -> testtestfoo –

+0

Gracias, supongo que tengo la pregunta equivocada :) – soulmerge

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

actualización del conjunto BOLETO status_details = concat (_details de estado, 'abc'), donde ticket_id = 75108; ERROR 1583 (42000): Parámetros incorrectos en la llamada a la función nativa 'CONCAT' –

5

muchas funciones de actualización de cadena en myqsl parecen funcionar así: si un argumento es nulo, entonces, la concatenación u otras funciones también devuelven nulo. Por lo tanto, para actualizar un campo con valor nulo, primero se establece en un valor no nulo, como ''

Por ejemplo:

update table set field='' where field is null; 
update table set field=concat(field,' append'); 
0
  • ACTUALIZACIÓN nombre_tabla SET columna 1 = concat ('newtring ', table_name.Column1) donde 1
  • ACTUALIZACIÓN nombre_tabla SET Columna1 = CONCAT ('newtring', table_name.Column2) donde 1
  • ACTUALIZACIÓN nombre_tabla SET Columna1 = CONCAT ('newtring', table_name.Column2, 'newtring2') donde 1

Podemos concaturar la misma columna o también otra columna de la tabla.

Cuestiones relacionadas