cari

Rumah  >  Soal Jawab  >  teks badan

MySQL: pergantungan medan tarikh yang tidak dapat dijelaskan

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粉891237912P粉891237912451 hari yang lalu586

membalas semua(1)saya akan balas

  • P粉538462187

    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;

    contoh ALTER TABLE

    balas
    0
  • Batalbalas