2012-05-25 42 views
1

在我的my-sql用戶數據中,有兩列,分別是u_id和u_name。更新存在變量的MySQL數據

如果沒有值,我想將u_name更新爲u_id。

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

我跑這個查詢,但它影響了0行。

是什麼引起的錯誤?

+0

使用IS NULL代替=的 – Addicted

回答

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具有字符串VARCHARNULL

1

當比較NULL使用IS NULL

WHERE u_name IS NULL 

注意,我已經改變了兩件事情:

  • NULL不加引號。
  • 當與NULL比較時,使用IS而不是=
0

值試試這個

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

您應該使用Is NULL來檢查空值。

0

嘗試使用IS NULL

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