Detaillierte Erklärung zum Anzeigen und Einstellen des SQL-Modus in MySQL

Detaillierte Erklärung zum Anzeigen und Einstellen des SQL-Modus in MySQL

Anzeigen und Einstellen des SQL-Modus in MySQL

MySQL kann in verschiedenen Modi ausgeführt werden und kann in verschiedenen Szenarien unterschiedliche Modi ausführen, was hauptsächlich vom Wert der Systemvariablen sql_mode abhängt. Dieser Artikel stellt hauptsächlich das Anzeigen und Einstellen dieses Werts vor, hauptsächlich auf Mac-Systemen.

Die Bedeutung und Funktion der einzelnen Modi sind leicht im Internet zu finden, daher wird in diesem Artikel nicht näher darauf eingegangen.

Es kann je nach Wirkbereich und Zeit in drei Ebenen unterteilt werden: Sitzungsebene, globale Ebene und Konfigurationsebene (dauerhaft wirksam).

Sitzungsebene:

Überprüfen-

wählen Sie @@session.sql_mode;

Überarbeiten-

Setzen Sie @@session.sql_mode='xx_mode'
setze Sitzungs-SQL_Modus='xx_mode'

session kann weggelassen werden, die Standard-Session ist nur für die aktuelle Session gültig

Globale Ebene:

Überprüfen-

wählen Sie @@global.sql_mode;

Überarbeiten-

Setzen Sie den globalen SQL-Modus = "xx_mode".
Setzen Sie @@global.sql_mode='xx_mode';

Es erfordert erweiterte Berechtigungen und ist nur für die nächste Verbindung wirksam. Es wirkt sich nicht auf die aktuelle Sitzung aus (getestet). Es wird nach einem Neustart von MySQL ungültig, da der entsprechende Wert in der Konfigurationsdatei beim Neustart von MySQL erneut gelesen wird. Wenn Sie möchten, dass es dauerhaft ist, müssen Sie den Wert in der Konfigurationsdatei ändern.

Konfigurationsänderung (dauerhaft):

Öffnen Sie vi /etc/my.cnf

Unten hinzufügen

[mysqld]
SQL-Modus = "xx_Modus"

Hinweis: [mysqld] muss hinzugefügt werden, und in der Mitte des SQL-Modus steht ein "-", kein Unterstrich.

Speichern und beenden, den Server neu starten und die Änderungen werden dauerhaft wirksam.

Da auf dem Mac keine Konfigurationsdatei für MySQL installiert ist, müssen Sie sie manuell hinzufügen.

ps

Zum Schluss möchte ich noch etwas hinzufügen: Starten, Stoppen und Neustarten von MySQL auf dem Mac.

Es gibt im Wesentlichen zwei Möglichkeiten.

Eine Möglichkeit besteht darin, zur Verwaltung auf das MySQL-Bedienfeld entsprechend den „Systemeinstellungen“ zu klicken.

Die zweite ist die Befehlszeilenmethode.

Die beiden am häufigsten verwendeten MySQL-bezogenen Ausführungsskripte sind:

/usr/local/mysql/support-files/mysql.server
/usr/local/mysql/bin/mysql

mysql.server steuert den Start und Stopp des Servers.

mysql.server starten|stoppen|neu starten|status

MySQL wird hauptsächlich für die Verbindung mit dem Server verwendet.

mysql -uroot -p **** -h **** -D **

Einige erfordern Sudo-Berechtigungen, und die entsprechenden Pfade können den Umgebungsvariablen hinzugefügt werden, um das Schreiben zu vereinfachen. Wie man sie hinzufügt, werde ich hier nicht erläutern.

Wissenspunkterweiterung:

Erklärung zum strikten Modus

Gemäß den Einschränkungen des strikten Modus (STRICT_TRANS_TABLES) in MySQL 5.0 und höher:

1). Unterstützt nicht das Einfügen von Nullwerten in nicht-Null-Felder

2). Das Einfügen von ''-Werten in das Auto-Increment-Feld wird nicht unterstützt, aber es können Nullwerte eingefügt werden.

3). Unterstützt keine Standardwerte für Textfelder

Sehen Sie sich den folgenden Code an: (das erste Feld ist ein Auto-Increment-Feld)

$query="in Demowerte einfügen('','$firstname','$lastname','$sex')";

Der obige Code ist nur im nicht strikten Modus gültig.

Code

$query="in Demowerte einfügen(NULL,'$firstname','$lastname','$sex')";

Der obige Code ist nur im strikten Modus gültig. Ersetzen Sie den leeren Wert '' durch NULL.

Das könnte Sie auch interessieren:
  • Gründe und Lösungen für das Nicht-Wirksamwerden der MySQL-SQL-Modus-Änderung
  • Detaillierte Erläuterung der MySQL sql_mode-Abfrage und -Einstellung
  • Detaillierte Erläuterung des SQL_Mode-Modusbeispiels in MySQL
  • Django2 stellt eine Verbindung zu MySQL her und analysiert Beispiele für Modelltests
  • Detaillierte Erklärung zu sinnvollen Einstellungen des MySQL sql_mode
  • MySQL sql_mode-Analyse und Einstellungserklärung
  • Die Fallstricke und Lösungen, die durch den Standardwert von sql_mode in MySQL 5.7 verursacht werden
  • Die perfekte Lösung für das MySql-Versionsproblem sql_mode=only_full_group_by
  • Lösen Sie das MySQL 5.7.9 Version sql_mode=only_full_group_by Problem
  • Detaillierte Erklärung der Verwendung des SQL-Modus in MySQL
  • mysql sql_mode="" Funktionsbeschreibung
  • Detaillierte Erläuterung der Verwendung von MySQL sql_mode

<<:  Eine kurze Diskussion über die Lösung von Axios zum Entfernen doppelter Anfragen

>>:  Detaillierte Erklärung der obligatorischen und impliziten Konvertierung von Typen in JavaScript

Artikel empfehlen

HTML ungeordnete Liste Aufzählungspunkte mit Bildern CSS schreiben

Erstellen Sie eine HTML-Seite mit einer ungeordnet...

5 häufig verwendete Objekte in JavaScript

Inhaltsverzeichnis 1. JavaScript-Objekte 1).Array...

Detaillierte Erklärung des Grid-Layouts und des Flex-Layouts der Anzeige in CSS3

Das Gitterlayout weist einige Ähnlichkeiten mit d...

Vue SPA-Lösung zur Optimierung des ersten Bildschirms

Inhaltsverzeichnis Vorwort Optimierung SSR Import...

Detaillierte Erklärung des JavaScript-Fortschrittsmanagements

Inhaltsverzeichnis Vorwort Frage Prinzip prüfen V...

Grafisches Tutorial zur Installation und Konfiguration der MySQL-Version 8.0.24

Dieser Artikel zeichnet die Installations- und Ko...

Prinzipielle Beispiele für die vier Netzwerktypen von Docker

Vier Netzwerktypen: Keine: Konfigurieren Sie kein...

Tutorial-Analyse der Schnellinstallation von mysql5.7 basierend auf centos7

eins. wget https://dev.mysql.com/get/mysql57-comm...

So importieren Sie SQL-Dateien in Navicat Premium

Ich habe heute mit der Arbeit an meinem Abschluss...