Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat 'Nilai Lalai Tidak Sah untuk 'created_at'' dalam MySQL?

Mengapa Saya Mendapat Ralat 'Nilai Lalai Tidak Sah untuk 'created_at'' dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 08:02:13227semak imbas

Why Am I Getting an

Nilai Lalai Tidak Sah untuk Ralat 'created_at' dalam MySQL

Apabila cuba mengubah suai jadual, mesej ralat berikut muncul:

ERROR 1067 (42000): Invalid default value for 'created_at'

Ralat ini biasanya timbul apabila mengubah lajur cap masa, tetapi dalam keadaan ini, ia berlaku semasa menambah lajur baharu. Jadual yang terjejas mempunyai lajur 'created_at' dan 'updated_at' sebagai dua entri terakhir.

Resolution

Punca ralat ini terletak pada tetapan mod SQL. Untuk membetulkan isu, sahkan mod SQL semasa menggunakan arahan:

show variables like 'sql_mode' ; 

Jika mod SQL termasuk "NO_ZERO_IN_DATE,NO_ZERO_DATE," alih keluar tetapan ini untuk menyelesaikan masalah. Tetapan ini adalah lalai dalam versi MySQL yang lebih baharu.

Sebagai pengguna akar, anda boleh mengubah suai mod SQL secara global menggunakan arahan:

set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Nilai Lalai Tidak Sah untuk 'created_at'' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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