如何预先在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
我们可以连接相同的列或表格的其他列。