Mengapakah saya mendapat \'Nilai lalai tidak sah untuk \'create_date\'\' apabila menggunakan `0000-00-00 00:00:00` sebagai lalai untuk medan TIMESTAMP dalam MySQL?

DDD
Lepaskan: 2024-10-31 15:37:01
asal
180 orang telah melayarinya

Why am I getting

Membetulkan Nilai Lalai Tidak Sah untuk Medan TIMESTAMP dalam MySQL

Apabila cuba mencipta jadual dengan medan TIMESTAMP dan menentukan nilai lalai ' 0000-00-00 00:00:00', anda mungkin menghadapi ralat "Nilai lalai tidak sah untuk 'create_date'." Ini selalunya disebabkan oleh tetapan Mod SQL pelayan MySQL.

Penjelasan

Mod SQL NO_ZERO_DATE menguatkuasakan ketegasan mengenai pengendalian tarikh sifar. Ia menghalang pemasukan '0000-00-00' sebagai tarikh yang sah, menganggapnya sebagai nilai yang tidak sah.

Penyelesaian

Untuk menyelesaikan ralat, anda boleh sama ada :

  • Lumpuhkan Mod SQL NO_ZERO_DATE:

    <code class="mysql">SET SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION';</code>
    Salin selepas log masuk
  • Gunakan pilihan IGNORE untuk membenarkan pemasukan tarikh sifar:

    <code class="mysql">CREATE TABLE IF NOT EXISTS `erp`.`je_menus` (
      `id` INT(11) NOT NULL AUTO_INCREMENT ,
      `name` VARCHAR(100) NOT NULL ,
      `description` VARCHAR(255) NOT NULL ,
      `live_start_date` DATETIME NULL DEFAULT NULL ,
      `live_end_date` DATETIME NULL DEFAULT NULL ,
      `notes` VARCHAR(255) NULL ,
      `create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' IGNORE,
      `created_by` INT(11) NOT NULL ,
      `update_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
      `updated_by` INT(11) NOT NULL ,
      `status` VARCHAR(45) NOT NULL ,
      PRIMARY KEY (`id`)
    ) ENGINE = InnoDB;</code>
    Salin selepas log masuk

Sebaik sahaja anda membuat pelarasan ini, anda sepatutnya berjaya mencipta jadual dengan nilai lalai yang ditentukan untuk medan TIMESTAMP.

Atas ialah kandungan terperinci Mengapakah saya mendapat \'Nilai lalai tidak sah untuk \'create_date\'\' apabila menggunakan `0000-00-00 00:00:00` sebagai lalai untuk medan TIMESTAMP dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!