更新一个表中非空的字段

时间:2010-05-21 18:13:14

标签: drupal mysql

我得到了这个SQL:

UPDATE users2 
SET picture = 'sites/site2/files/pictures/' + picture;
WHERE picture NOT IS NULL

我唯一得到的是所有picture字段获得值'0'

2 个答案:

答案 0 :(得分:3)

因为添加不适用于字符串。改为使用CONCAT():

UPDATE users2 
SET picture = CONCAT('sites/site2/files/pictures/', picture)
WHERE pictures NOT IS NULL

另外,请注意您在查询中间有一个分号...删除它或者您将更新所有行!

答案 1 :(得分:2)

在MySQL中+表示数字加法。您的字符串被强制转换为整数,添加,然后将结果转换回字符串。

使用CONCAT进行字符串连接。以下是查询的固定版本:

UPDATE users2 
SET picture = CONCAT('sites/site2/files/pictures/', picture)
WHERE picture IS NOT NULL
相关问题