使用exist变量更新MySQL数据

使用exist变量更新MySQL数据,mysql,Mysql,在我的sql用户数据中,有两列,分别是u_id和u_name 如果没有值,我想将u_名称更新为u_id UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL' 我运行了此查询,但它影响了0行 错误的原因是什么?与NULL比较时,使用为NULL: WHERE u_name IS NULL 请注意,我改变了两件事: NULL不在引号中 与NULL比较时,请使用IS而不是= 当您要与null值进行比较时,不应将(=)nu

在我的sql用户数据中,有两列,分别是u_id和u_name

如果没有值,我想将u_名称更新为u_id

UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL'
我运行了此查询,但它影响了0行


错误的原因是什么?

NULL
比较时,使用
为NULL

WHERE u_name IS NULL
请注意,我改变了两件事:

  • NULL
    不在引号中
  • NULL
    比较时,请使用
    IS
    而不是
    =
当您要与
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` IS NULL
在你的询问中

UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` = 'NULL'
您正在搜索
u\u name
,该名称的字符串或VARCHAR值为
NULL

,请尝试以下操作

UPDATE T_USER_ACCOUNT SET `u_name`=`u_id` WHERE `u_name` IS NULL

您应该使用Is NULL来检查NULL值。

尝试使用
Is NULL

WHERE u_name IS NULL