當 NOT NULL DEFAULT遇到 Invalid use of NULL value

今天項目的數據庫更新時曝出如此錯誤。檢查發現一個類似如下的語句出現錯誤:

語句:

 ALTER TABLE `ATable` 
 CHANGE COLUMN `Atxt` `Btxt` DECIMAL(18,6) NOT NULL DEFAULT 0;

錯誤:

ERROR 1138 (22004) at line 7: Invalid use of NULL value

原因:

NOT NULL DEFAULT 0 ,表示不爲空,默認賦值0,但想修改的表單中存在爲null的值

解決方案:

UPDATE ATable
SET Btxt= 0
WHERE Btxt IS NULL;

之後再執行所需執行的SQL語句即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章