Apabila cuba mencipta lajur TEXT dengan nilai lalai dalam MySQL, ralat berlaku pada Platform Windows. Walau bagaimanapun, Linux dan versi lain hanya mengeluarkan amaran. Ketidakkonsistenan ini telah membingungkan ramai pengguna dan mencetuskan spekulasi tentang sebab asas.
Menurut urutan dalam MySQL Bugtracker, ketiadaan nilai lalai untuk lajur TEXT tidak dianggap sebagai pepijat. Walau bagaimanapun, percanggahan dalam tingkah laku merentas platform boleh membawa kepada isu keserasian. Bryce Nesbitt, pembangun MySQL, menyatakan bahawa ketidakkonsistenan ini berpunca daripada tahap ketegasan yang berbeza antara Windows dan platform lain.
Pada Windows, peraturan "tiada DEFAULT" dikuatkuasakan sebagai ralat, manakala pada platform lain, ia sering dianggap sebagai amaran. Perbezaan ini boleh menyebabkan masalah apabila kod yang ditulis pada platform yang lembut kemudiannya dijalankan pada platform yang ketat.
Untuk mengurangkan isu ini, pembangun boleh melumpuhkan mod ketat dalam MySQL 5 pada Windows dengan mengubah suai fail konfigurasi /my.ini . Ini melibatkan menggantikan tetapan mod ketat dengan "sql_mode='MYSQL40'" dan memulakan semula perkhidmatan MySQL. Selain itu, pengguna root/admin boleh melaksanakan pertanyaan berikut untuk melumpuhkan mod ketat secara global:
mysql_query("SET @@global.sql_mode='MYSQL40'");
Atas ialah kandungan terperinci Mengapa Lajur MySQL TEXT Kurang Nilai Lalai pada Beberapa Platform?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!