在我的my-sql用户数据中,有两列,分别是u_id和u_name。
如果没有值,我想将u_name更新为u_id。
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL'
我运行了此查询,但它影响了0行。
导致错误的原因是什么?
答案 0 :(得分:2)
如果要与=
值进行比较,则不应将(null
)NULL
分配给列。正确的方法是:
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` IS NULL
在您的查询中,
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL'
您正在搜索u_name
,其字符串或 VARCHAR 值为NULL
答案 1 :(得分:1)
与NULL
使用IS NULL
进行比较时:
WHERE u_name IS NULL
请注意,我更改了两件事:
NULL
不在引号中。IS
比较时,请使用=
代替NULL
。 答案 2 :(得分:0)
试试这个
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` IS NULL
您应该使用Is NULL来检查空值。
答案 3 :(得分:0)
尝试使用IS NULL
:
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` IS NULL