Dalam MySQL, pemasukan data boleh gagal dengan ralat " 1406: Data terlalu panjang untuk lajur" apabila nilai yang dimasukkan melebihi lebar lajur yang ditentukan. Ini berlaku kerana MySQL memotong sebarang nilai yang melebihi panjang lajur yang ditentukan semasa sisipan.
Untuk menyelesaikan isu ini, seseorang boleh melaraskan mod SQL untuk tidak menggunakan STRICT.
Mod SQL boleh diubah suai dalam dua cara:
Cari baris "sql-mode" dalam fail konfigurasi MySQL dan ubah suainya untuk mengalih keluar bendera "STRICT". Contohnya:
# Set the SQL mode to strict sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Ganti dengan:
# Set the SQL mode to strict sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Laksanakan pertanyaan SQL berikut untuk melumpuhkan mod STRICT:
SET @@global.sql_mode= '';
Dengan melaraskan mod SQL, MySQL tidak lagi akan memotong nilai yang melebihi lebar lajur . Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa menukar kepada mod bukan TEGAS boleh menjejaskan integriti data. Pertimbangkan dengan teliti sebelum melaksanakan penyelesaian ini.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL 1406: Data Terlalu Panjang untuk Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!