我需要一个SQL更新语句来更新所有行的特定字段,并在现有值的前面添加字符串“test”。
例如,如果现有值为“try”,则它应该变为“testtry”。
答案 0 :(得分:240)
您可以使用CONCAT功能执行此操作:
UPDATE tbl SET col=CONCAT('test',col);
如果您想要更聪明并且只更新尚未进行测试的列,请尝试
UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
答案 1 :(得分:15)
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]
答案 2 :(得分:7)
MySQL中的许多字符串更新函数似乎都是这样的:
如果一个参数是null
,则连接或其他函数也会返回null
。
因此,要更新具有null
值的字段,请先将其设置为非空值,例如''
例如:
update table set field='' where field is null;
update table set field=concat(field,' append');
答案 3 :(得分:6)
这是一个简单的
UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);
答案 4 :(得分:0)
我们可以连接相同的列或表的其他列。