如何预先在MySQL中的string列值?

我需要一个SQL更新语句来更新所有行的特定字段,并在现有值的前面添加一个string“test”。

例如,如果现有值是“尝试”,它应该成为“testtry”。

你可以使用CONCATfunction来做到这一点:

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

如果你想变得更聪明,只更新没有预先testing过的列,请尝试

 UPDATE tbl SET col=CONCAT('test',col) WHERE col NOT LIKE 'test%'; 
 UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...] 

这是一个简单的

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

myqsl中的许多string更新函数似乎是这样工作的:如果一个参数为null,则连接或其他函数也会返回null。 因此,要用空值更新一个字段,首先将它设置为一个非空值,比如“'

例如:

 update table set field='' where field is null; update table set field=concat(field,' append'); 
  • UPDATE table_name SET Column1 = CONCAT('newtring',table_name.Column1)其中1
  • UPDATE table_name SET Column1 = CONCAT('newtring',table_name.Column2)其中1
  • UPDATE table_name SET Column1 = CONCAT('newtring',table_name.Column2,'newtring2')其中1

我们可以连接相同的列或表格的其他列。