Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Tetapkan Global SQL_MODE secara Kekal dalam MySQL?

Bagaimana untuk Tetapkan Global SQL_MODE secara Kekal dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-01 17:00:12686semak imbas

How to Permanently Set Global SQL_MODE in MySQL?

Menetapkan Global SQL_MODE dalam MySQL: Panduan

Apabila bekerja dengan MySQL, seseorang sering menghadapi keperluan untuk mengubah suai tetapan SQL_MODE. Mod ini mengawal julat tingkah laku SQL dan konfigurasi parser, yang mempengaruhi faktor seperti pengesahan data, pengendalian transaksi dan banyak lagi.

Adakah Struktur Perintah Betul?

Sintaks untuk menetapkan berbilang mod dalam SQL_MODE menggunakan arahan SET adalah betul:

SET GLOBAL SQL_MODE='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION'

Kelebihan Sesi dan Global Mod

  • Mod sesi: Hanya mempengaruhi sesi semasa dan ditetapkan semula apabila sesi ditamatkan. Sesuai untuk tetapan SQL_MODE sementara atau khusus pengguna.
  • Mod global: Mempengaruhi semua sesi berikutnya sehingga diubah suai. Sesuai untuk konfigurasi kekal seluruh sistem yang digunakan untuk semua pengguna.

Mod Global lwn. Mod Sesi

Apabila berhadapan dengan senario seperti mengemas kini pangkalan data dengan nilai UNC menggunakan pengguna yang berbeza , menetapkan mod global untuk NO_BACKSLASH_ESCAPES masuk akal kerana ia memastikan semua pengguna terjejas, tanpa mengira sesi mereka tetapan.

Menetapkan Global SQL_MODE Secara Kekal

Malangnya, pengubahsuaian terus tetapan global menggunakan SET tidak berterusan dan ditetapkan semula selepas MySQL dimulakan semula. Untuk membuat perubahan kekal, tetapkan mod dalam fail konfigurasi(/etc/mysql/my.cnf):

[mysqld]
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Untuk versi MySQL yang lebih baharu (cth., 5.7.8 ), gunakan sintaks berikut:

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

Kesimpulan

Untuk tetapan SQL_MODE berterusan seluruh sistem yang mempengaruhi semua pengguna, menetapkan mod global adalah pendekatan pilihan. Perubahan kekal harus dibuat dalam fail konfigurasi, memastikan bahawa gelagat SQL yang diingini adalah konsisten merentas sesi.

Atas ialah kandungan terperinci Bagaimana untuk Tetapkan Global SQL_MODE secara Kekal 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