1
更新基於比較結果專欄中,我可以很容易地使用這些SQL語句找到我想要的行:如何在另一列
SELECT COUNT(*) FROM `individuals` WHERE `company_zip` != '';
SELECT COUNT(*) FROM `individuals` WHERE length(`company_zip`) > 0;
SELECT COUNT(*) FROM `individuals` WHERE strcmp(`company_zip`, '') != 0;
而且可能有其他100點的方式來做到這一點。
但是......
嘗試在UPDATE語句
UPDATE `individuals` SET `company_country` = 1 WHERE `company_zip` != '';
UPDATE `individuals` SET `company_country` = 1 WHERE length(`company_zip`) > 0;
UPDATE `individuals` SET `company_country` = 1 WHERE strcmp(`company_zip`, '') != 0;
使用這些和我得到的答覆是這樣的:
0 row(s) affected. (Query took 0.5920 sec)
我承認我厭倦了看手冊頁和谷歌搜索來弄清楚。我在這裏丟失哪個mysql原則?在SELECT語句中計數行很容易,但對於UPDATE語句,相同的條件不起作用。這是一個錯誤?
該死!我在發佈之前就已經想清楚了。所以我會給任何想知道答案的人。 我不小心添加了默認值爲1的字段company_country
,所以所有記錄的默認值都是'1'。所以mysql試圖更新字段,但發現它們已經被設置爲1.消隱它們允許UPDATE查詢工作。沒關係。發佈給任何發生類似錯誤的人。
布拉德利
您應該添加您的答案,然後接受它作爲解決方案。 – Sonny