Heim >Datenbank >MySQL-Tutorial >Wie stelle ich den globalen SQL_MODE in MySQL dauerhaft ein?
Bei der Arbeit mit MySQL stößt man oft auf die Notwendigkeit, die SQL_MODE-Einstellung zu ändern. Dieser Modus regelt eine Reihe von SQL-Verhaltens- und Parserkonfigurationen und beeinflusst Faktoren wie Datenvalidierung, Transaktionsverarbeitung und mehr.
Die Syntax zum Festlegen mehrerer Modi in SQL_MODE mit dem SET-Befehl ist korrekt:
SET GLOBAL SQL_MODE='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION'
Wenn Sie mit einem Szenario wie der Aktualisierung der Datenbank mit UNC-Werten unter Verwendung verschiedener Benutzer konfrontiert werden Das Festlegen eines globalen Modus für NO_BACKSLASH_ESCAPES ist sinnvoll, da dadurch sichergestellt wird, dass alle Benutzer betroffen sind, unabhängig von ihren Sitzungseinstellungen.
Leider ist die direkte Änderung globaler Einstellungen mit SET nicht dauerhaft und wird nach einem MySQL-Neustart zurückgesetzt. Um Änderungen dauerhaft zu machen, legen Sie den Modus in der Konfigurationsdatei (/etc/mysql/my.cnf) fest:
[mysqld] sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Verwenden Sie für neuere MySQL-Versionen (z. B. 5.7.8) die folgende Syntax:
[mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
Für systemweite, persistente SQL_MODE-Einstellungen, die sich auf alle Benutzer auswirken, ist das Festlegen eines globalen Der Modus ist der bevorzugte Ansatz. In der Konfigurationsdatei sollten dauerhafte Änderungen vorgenommen werden, um sicherzustellen, dass das gewünschte SQL-Verhalten über alle Sitzungen hinweg konsistent ist.
Das obige ist der detaillierte Inhalt vonWie stelle ich den globalen SQL_MODE in MySQL dauerhaft ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!