Drupal 正在更新一个表中不为空的字段

Drupal 正在更新一个表中不为空的字段,drupal,mysql,Drupal,Mysql,我得到了这个SQL: UPDATE users2 SET picture = 'sites/site2/files/pictures/' + picture; WHERE picture NOT IS NULL 我得到的唯一结果是所有的picture字段都得到值'0'在MySQL中表示数字相加。您的字符串将被转换为整数、相加,然后将结果转换回字符串 用于字符串连接。以下是您的查询的固定版本: UPDATE users2 SET picture = CONCAT('sites/site2/f

我得到了这个SQL:

UPDATE users2 
SET picture = 'sites/site2/files/pictures/' + picture;
WHERE picture NOT IS NULL
我得到的唯一结果是所有的
picture
字段都得到值
'0'

在MySQL中表示数字相加。您的字符串将被转换为整数、相加,然后将结果转换回字符串

用于字符串连接。以下是您的查询的固定版本:

UPDATE users2 
SET picture = CONCAT('sites/site2/files/pictures/', picture)
WHERE picture IS NOT NULL
在MySQL中,表示数字相加。您的字符串将被转换为整数、相加,然后将结果转换回字符串

用于字符串连接。以下是您的查询的固定版本:

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

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


也注意,在查询的中间有一个半冒号…删除它,否则将更新所有行

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


也注意,在查询的中间有一个半冒号…删除它,否则将更新所有行

是的,谢谢!而那
是一个很好的捕获。它仍然不起作用,因为它不喜欢
不为NULL
…想法?@WmasterJ:notis NULL->NOT IS NULL谢谢你,马克。刚刚将其更改为
!=''。但我相信这两种方法都能奏效。是的,谢谢!而那
是一个很好的捕获。它仍然不起作用,因为它不喜欢
不为NULL
…想法?@WmasterJ:notis NULL->NOT IS NULL谢谢你,马克。刚刚将其更改为
!=''。但我相信两者都会奏效。