Arahan yang anda berikan tidak betul untuk menetapkan berbilang mod SQL secara global. Sintaks yang betul ialah:
SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
Mod sesi: Hanya menjejaskan sambungan semasa dan ditetapkan semula apabila penamatan sambungan. Kelebihan termasuk:
Mod global: Menjejaskan semua sambungan ke pangkalan data. Kelebihan termasuk:
Yang diutamakan mod bergantung pada keperluan khusus dan corak penggunaan. Jika mod SQL yang sama dikehendaki untuk semua pengguna, menetapkan mod global adalah disyorkan. Jika tidak, mod sesi boleh memberikan fleksibiliti.
Perhatikan bahawa menetapkan mod SQL dengan SET GLOBAL tidak akan berterusan selepas MySQL dimulakan semula. Untuk membuat perubahan kekal, anda harus mengemas kini fail konfigurasi MySQL (cth., my.cnf) seperti berikut:
[mysqld] sql_mode = 'NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES'
Untuk MySQL versi 5.7.8 dan ke atas, gunakan sintaks berikut:
[mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
Pastikan anda merujuk dokumentasi MySQL untuk versi khusus anda untuk pilihan mod SQL yang tersedia.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan dan Mengekalkan Mod SQL Global dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!