我正在嘗試更新現有資料庫中兩個日期欄位的預設值。這兩個欄位的 SHOW CREATE TABLE 的輸出是:
`dateIn` date DEFAULT '0000-00-00', `dateDue` date DEFAULT '0000-00-00',
但是,當我嘗試透過命令列或 phpMyAdmin 更新其中一個欄位時,我收到了另一個欄位的錯誤。
mysql> ALTER TABLE job MODIFY COLUMN dateIn date DEFAULT NULL; ERROR 1067 (42000): Invalid default value for 'dateDue'
請注意,錯誤中的欄位不是命令中的欄位。如何在不破壞資料的情況下解決此問題?
P粉5384621872023-09-11 09:59:16
@easleyfixed 使用 MySQL Workbench 的提示解決了問題,因為它精心設計了最佳 SQL,使我能夠在同一命令中修改兩列。
ALTER TABLE job MODIFY COLUMN dateIn DATE DEFAULT NULL, MODIFY COLUMN dateDue DATE DEFAULT NULL;