Heim > Datenbank > MySQL-Tutorial > Wie stelle und verwalte ich den globalen „sql_mode' in MySQL?

Wie stelle und verwalte ich den globalen „sql_mode' in MySQL?

Mary-Kate Olsen
Freigeben: 2024-12-02 02:18:11
Original
809 Leute haben es durchsucht

How Do I Set and Manage Global `sql_mode` in MySQL?

Globalen sql_mode in MySQL festlegen

In MySQL definiert sql_mode das Standardverhalten des Datenbankservers. Wenn Sie sql_mode global festlegen, wird der konfigurierte Modus auf alle nachfolgenden Verbindungen und Sitzungen angewendet. Dies unterscheidet sich vom Festlegen von sql_mode pro Sitzung, das sich nur auf die aktuelle Verbindung auswirkt.

Wenn beim globalen Festlegen von sql_mode Fehler auftreten, ist es wichtig, die Syntax zu überprüfen. Der richtige Weg, mehrere Modi in einem globalen Kontext festzulegen, ist:

SET GLOBAL sql_mode = 'NO_BACKSLASH_ESCAPES', 'STRICT_TRANS_TABLE', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION'
Nach dem Login kopieren

Vorteile des globalen Modus und des Sitzungsmodus

  • Global Modi:

    • Erzwingen Sie konsistentes Verhalten über alle Verbindungen hinweg und stellen Sie so eine standardisierte Datenbank sicher Umgebung.
    • Vermeiden Sie die Notwendigkeit, dass einzelne Benutzer oder Anwendungen bestimmte Modi pro Sitzung festlegen müssen.
  • Sitzungsmodi:

    • Bieten Sie die Flexibilität, globale Einstellungen für bestimmte Aufgaben oder Benutzer zu überschreiben.
    • Erlauben Sie vorübergehende Änderungen in den SQL-Modus wechseln, ohne dass sich dies auf andere Sitzungen auswirkt.

Bevorzugte Einstellung

Die bevorzugte Einstellung hängt von der Anwendung und der Umgebung ab. Wenn ein einheitliches Verhalten auf der ganzen Linie gewünscht ist, empfiehlt sich die globale Einstellung von sql_mode. Wenn jedoch bestimmte Sitzungsanforderungen auftreten, bieten Sitzungsmodi die nötige Flexibilität.

Globalen sql_mode dauerhaft festlegen

Um globale sql_mode-Änderungen dauerhaft zu machen, müssen sie konfiguriert werden die MySQL-Konfigurationsdatei (z. B. /etc/mysql/my.cnf unter Linux). Fügen Sie im Abschnitt [mysqld] die Option sql_mode hinzu oder ändern Sie sie. Zum Beispiel:

[mysqld]
sql_mode = NO_BACKSLASH_ESCAPES, STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION
Nach dem Login kopieren

Für neuere Versionen von MySQL (z. B. 5.7.8 oder höher) erfordert die sql_mode-Einstellung möglicherweise einen Bindestrich anstelle eines Unterstrichs und doppelter Anführungszeichen:

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
Nach dem Login kopieren

Konsultieren Sie immer die MySQL-Dokumentation für die entsprechende Syntax basierend auf der verwendeten MySQL-Version.

Das obige ist der detaillierte Inhalt vonWie stelle und verwalte ich den globalen „sql_mode' in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage