Rumah  >  Artikel  >  pangkalan data  >  Mengapa saya mendapat ralat \"Field Does\'t Have Default Value\" dalam Mod STRICT MySQL?

Mengapa saya mendapat ralat \"Field Does\'t Have Default Value\" dalam Mod STRICT MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-05 12:40:02854semak imbas

Why am I getting the

Ralat Mod STRICT MySQL: 1364 'Field Doesn't Have Default Value'

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.

Resolusi

Untuk menyelesaikan isu ini, tetapan mod STRICT MySQL perlu diubah. Terdapat dua penyelesaian yang mungkin:

  1. 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.

  2. Perubahan Kekal: Edit fail konfigurasi MySQL anda (my.cnf). Cari tetapan sql_mode dan sahkan bahawa STRICT_ALL_TABLES atau sebarang pilihan mod ketat lain tidak ada. Jika ditemui, ulas atau alih keluar pilihan tersebut.

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!

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