Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan dan Mengekalkan Mod SQL Global dalam MySQL?

Bagaimana untuk Menetapkan dan Mengekalkan Mod SQL Global dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 13:08:10708semak imbas

How to Set and Persist Global SQL Modes in MySQL?

Menetapkan Mod SQL Global dalam MySQL

Konfigurasi Mod Berbilang

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'

Kelebihan Sesi dan Mod Global

  • Mod sesi: Hanya menjejaskan sambungan semasa dan ditetapkan semula apabila penamatan sambungan. Kelebihan termasuk:

    • Mudah dikonfigurasikan untuk sesi pengguna tertentu
    • Tiada kesan pada sambungan lain
  • Mod global: Menjejaskan semua sambungan ke pangkalan data. Kelebihan termasuk:

    • Tingkah laku yang konsisten untuk semua pengguna
    • Konfigurasi yang dipermudahkan

Mod Pilihan

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.

Perubahan Berterusan Menggunakan Fail Konfig

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!

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