Rumah > Artikel > pangkalan data > Mengapa saya mendapat ralat \"Field Does\'t Have Default Value\" dalam Mod STRICT MySQL?
Dalam penghijrahan baru-baru ini daripada MAMP ke Apache, MySQL dan PHP, melaksanakan arahan INSERT tiba-tiba mengakibatkan ralat berikut:
SQLSTATE[HY000]: General error: 1364 Field 'display_name' doesn't have a default value
Isu ini timbul disebabkan oleh perubahan dalam tingkah laku lalai MySQL. Dalam MySQL versi 5.6.13, mod STRICT sering didayakan, yang menguatkuasakan peraturan yang lebih ketat untuk pengesahan data. Akibatnya, medan tanpa nilai lalai tidak lagi boleh dibiarkan kosong semasa pemasukan.
Untuk menyelesaikan isu ini, tetapan mod STRICT MySQL perlu diubah. Terdapat dua penyelesaian yang mungkin:
Perubahan Sementara: Jalankan arahan berikut dalam konsol MySQL anda:
SET GLOBAL sql_mode='';
Ini akan melumpuhkan STRICT buat sementara waktu mod untuk semua pertanyaan seterusnya.
Selepas membuat salah satu daripada perubahan ini, mulakan semula pelayan MySQL dan arahan INSERT harus dilaksanakan dengan jayanya tanpa ralat "Field Doesn't Have Default Value" .
Atas ialah kandungan terperinci Mengapa saya mendapat ralat \"Field Does\'t Have Default Value\" dalam Mod STRICT MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!