Rumah > Soal Jawab > teks badan
Saya cuba mengemas kini nilai lalai dua medan tarikh dalam pangkalan data sedia ada. Output SHOW CREATE TABLE untuk dua medan ini ialah:
`dateIn` date DEFAULT '0000-00-00', `dateDue` date DEFAULT '0000-00-00',
Namun, apabila saya cuba mengemas kini salah satu medan melalui baris arahan atau phpMyAdmin, saya mendapat ralat tentang medan yang lain.
mysql> ALTER TABLE job MODIFY COLUMN dateIn date DEFAULT NULL; ERROR 1067 (42000): Invalid default value for 'dateDue'
Sila ambil perhatian bahawa medan dalam ralat bukanlah medan dalam arahan. Bagaimanakah saya boleh menyelesaikan masalah ini tanpa memusnahkan data saya?
P粉5384621872023-09-11 09:59:16
@easleyfixed Petua menggunakan MySQL Workbench menyelesaikan masalah kerana ia menghasilkan SQL yang optimum untuk membolehkan saya mengubah suai kedua-dua lajur dalam arahan yang sama.
ALTER TABLE job MODIFY COLUMN dateIn DATE DEFAULT NULL, MODIFY COLUMN dateDue DATE DEFAULT NULL;