Zusammenfassung der Merkmale des SQL-Modus in MySQL

Zusammenfassung der Merkmale des SQL-Modus in MySQL

Vorwort

Der SQL-Modus wirkt sich auf die von MySQL unterstützte SQL-Syntax und die von ihm durchgeführten Datenvalidierungsprüfungen aus.

Der MySQL-Server kann in verschiedenen SQL-Modi arbeiten und diese Modi für verschiedene Clients unterschiedlich anwenden, abhängig vom Wert der Systemvariablen sql_mode. Der DBA kann den globalen SQL-Modus so einstellen, dass er den Betriebsanforderungen des Site-Servers entspricht, und jede Anwendung kann ihren Sitzungs-SQL-Modus entsprechend ihren eigenen Anforderungen einstellen.

Der Modus wirkt sich auf die von MySQL unterstützte SQL-Syntax und die von MySQL durchgeführten Datenvalidierungsprüfungen aus. Dies erleichtert die Verwendung von MySQL in verschiedenen Umgebungen und die Verwendung von MySQL mit anderen Datenbankservern.

Werfen wir einen Blick auf die ausführliche Einführung.

Festlegen des SQL-Modus

Um den SQL-Modus zur Laufzeit zu ändern, legen Sie die globale oder sitzungsbezogene Systemvariable sql_mode mit der SET-Anweisung fest.

SETZEN SIE GLOBAL sql_mode = "Modi";
SETZEN SIE SESSION sql_mode = "Modi";

Modusliste

Modell Hinweise
ALLOW_INVALID_DATES Ungültige Daten erzeugen einen Fehler
FEHLER BEI DIVISION DURCH NULL Division durch 0 Fehler
KEINE_BACKSLASH_ESCAPES Das Backslash-Zeichen (\) ist als Escape-Zeichen in Zeichenfolgenliteralen verboten. Wenn dieser Modus aktiviert ist, verhält sich der Backslash wie jedes andere normale Zeichen.
KEINE_UNSIGNED_SUBTRAKTION Die Subtraktion zwischen ganzzahligen Werten (von denen einer vom Typ UNSIGNED ist) erzeugt standardmäßig ein vorzeichenloses Ergebnis. Wenn das Ergebnis ansonsten negativ ist, tritt ein Fehler auf
KEINE_NULL_IM_DATUM '0000-00-00' ist erlaubt und Einfügungen erzeugen eine Warnung
NUR_VOLLSTÄNDIGE_GRUPPE_NUR Das in select angegebene Feld muss in groupby erscheinen, sonst tritt ein Fehler auf
STRICT_TRANS_TABLES Aktivieren Sie den strikten SQL-Modus für transaktionale Speicher-Engines und, sofern möglich, für nicht transaktionale Speicher-Engines.
STRICT_ALL_TABLES Aktivieren Sie den strikten SQL-Modus für alle Speicher-Engines. Ungültige Datenwerte werden zurückgewiesen.

Weitere Einzelheiten finden Sie unter https://dev.mysql.com/doc/ref...

Strikter SQL-Modus

Der MySQL-Server kann in verschiedenen SQL-Modi arbeiten und diese Modi für verschiedene Clients unterschiedlich anwenden, abhängig vom Wert der Systemvariablen sql_mode. Im strikten SQL-Modus stuft der Server bestimmte Warnungen in Fehler um.

Der strikte SQL-Modus gilt für die folgenden Anweisungen

  • ALTER TABLE
  • TABELLE ERSTELLEN
  • TABELLE ERSTELLEN ... AUSWÄHLEN
  • LÖSCHEN
  • EINFÜGEN
  • DATEN LADEN
  • XML LADEN
  • Wählen Sie SLEEP()
  • AKTUALISIEREN

Wenn innerhalb einer gespeicherten Prozedur die Prozedur bei aktiviertem strikten Modus definiert wurde, werden einzelne Anweisungen der aufgelisteten Typen im strikten SQL-Modus ausgeführt.

Der strenge SQL-Modus gilt für die folgenden Fehler, die eine Fehlerklasse darstellen, bei der ein Eingabewert ungültig ist oder fehlt. Ein Wert ist ungültig, wenn er den falschen Datentyp für die Spalte hat oder außerhalb des gültigen Bereichs liegt. Wenn eine neu einzufügende Zeile keinen Wert für eine Spalte enthält, die in ihrer Definition keine explizite DEFAULT-Klausel mit dem Wert NOT NULL hat, dann fehlt der Wert.

  • ER_BAD_NULL_ERROR
  • ER_CUT_VALUE_GROUP_CONCAT
  • ER_DATA_TOO_LONG
  • ER_DATETIME_FUNCTION_OVERFLOW
  • ER_DIVISION_BY_ZERO
  • ER_INVALID_ARGUMENT_FOR_LOGARITHM
  • ER_NO_DEFAULT_FOR_FIELD
  • ER_NO_DEFAULT_FOR_VIEW_FIELD
  • ER_TOO_LONG_KEY
  • ER_TRUNCATED_WRONG_VALUE
  • ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
  • ER_WARN_DATA_OUT_OF_RANGE
  • ER_WARN_NULL_TO_NOTNULL
  • ER_WARN_ZU_WENIGE_DATEN
  • ER_WRONG_ARGUMENTS
  • ER_FALSCHES_VERMÖGEN_FÜR_TYP
  • WARN_DATA_TRUNCATED

Danksagung

Vielen Dank fürs Lesen. Ich hoffe, dieser Artikel kann Ihnen helfen. Vielen Dank.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So aktivieren Sie den strikten Modus in MySQL
  • Erlernen Sie SQL-Anweisungen (leistungsstarke Gruppierungs- und Auswahlmodi)
  • Gewöhnliche Gespräche über die Verwendung von MYSQL Pattern Matching REGEXP und ähnliches
  • Einführung in den Mysql SQL Server-Modus
  • PHP-MySQL-Klasse basierend auf Singleton-Modus
  • NoSQL-Antimuster – Dokumentdatenbanken
  • Detaillierte Analyse des binlog_format-Modus und der Konfiguration in MySQL
  • So gehen Sie mit einer Warnung um, wenn MySQL den Skip-Name-Resolve-Modus aktiviert

<<:  So verwenden Sie Docker-Compsoe zum Bereitstellen eines Projekts mit Front-End- und Back-End-Trennung

>>:  So komprimieren Sie Bilder effektiv mit JS

Artikel empfehlen

Win10 Installation Linux System Tutorial Diagramm

Um eine virtuelle Maschine auf einem Windows-Syst...

Vue verwendet WebSocket, um die Chat-Funktion zu simulieren

Der Effekt zeigt, dass sich zwei Browser gegensei...

Linux Dateisystemtyp anzeigen Beispielmethode

So überprüfen Sie den Dateisystemtyp einer Partit...

Installations-Tutorial zur komprimierten Version von MySQL 8.0.11

In diesem Artikel finden Sie das Installations-Tu...

Docker Link realisiert die Containerverbindung

Inhaltsverzeichnis 1.1. Netzwerkzugriff zwischen ...

Beispiel für einen Persistenzbetrieb mit Gearman + MySQL

Dieser Artikel verwendet die Gearman+MySQL-Method...

So implementieren Sie die jQuery-Karussellfunktion

In diesem Artikel wird der Implementierungscode d...

Wann sollte man Map anstelle einfacher JS-Objekte verwenden?

Inhaltsverzeichnis 1. Map akzeptiert jeden Schlüs...

Detaillierte Erläuterung der Mybatis-Sonderzeichenverarbeitung

Vorwort: Mybatis-Sonderzeichenverarbeitung, Verar...

Detaillierte Installation und Konfiguration von hadoop2.7.2 unter Ubuntu15.10

Im Internet und in vielen Büchern gibt es viele T...