在我的 mysql 用户数据中,有两列,分别是 u_id 和 u_name。
如果没有值,我想将 u_name 更新为 u_id。
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL'
我运行了这个查询,但它影响了 0 行。
是什么导致了错误?
在我的 mysql 用户数据中,有两列,分别是 u_id 和 u_name。
如果没有值,我想将 u_name 更新为 u_id。
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL'
我运行了这个查询,但它影响了 0 行。
是什么导致了错误?
当您想与值进行比较时,不应将 ( =
)分配给列。正确的方法是: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
比较NULL
使用时IS NULL
:
WHERE u_name IS NULL
请注意,我改变了两件事:
NULL
不在引号中。IS
而不是。=
NULL
尝试这个
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` IS NULL
您应该使用 Is NULL 来检查空值。
尝试使用IS NULL
:
UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` IS NULL