使用现有变量更新MySQL数据

时间:2012-05-25 05:18:54

标签: mysql

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

如果没有值,我想将u_name更新为u_id。

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

我运行了此查询,但它影响了0行。

导致错误的原因是什么?

4 个答案:

答案 0 :(得分:2)

如果要与=值进行比较,则不应将(nullNULL分配给列。正确的方法是:

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