Detaillierte Erläuterung der Wissenspunkte zum MySQL Strict Mode

Detaillierte Erläuterung der Wissenspunkte zum MySQL Strict Mode

I. Erläuterung des 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)

SQL-Code

$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.

II. Sorgen Sie dafür, dass die Datenbank den strikten Modus unterstützt

1. Nehmen Sie die folgenden Verbesserungen an der Datenbankstruktur vor, um den strikten Modus zu unterstützen:

1) Legen Sie für alle Felder, die nicht null sind, einen Standardwert fest, der nicht null ist. Der Standardwert für Zeichenfolgen ist '', der Standardwert für Zahlen ist 0 und der Standardwert für Datumsangaben ist '0000-00-00 00:00:00'.

2) Entfernen Sie den Standardwert des Textfelds

3) Standardisierungsverbesserungen: Ändern Sie das Titelfeld in varchar(255) und ändern Sie das Nullfeld mit Standardwert in ein Nicht-Nullfeld

2. Wenn die installierte PHP-Programm-Datenbankstruktur den strikten Modus ausschaltet

1). Eine Möglichkeit besteht darin, den strikten Modus bei der Installation von MySQL 5.0 (oder höher) zu entfernen.

Bearbeiten Sie my.cnf und deaktivieren Sie den strikten Modus:

sql-mode="KEIN_AUTO_CREATE_USER,KEIN_ENGINE_SUBSTITUTION"

2). Eine andere Möglichkeit besteht darin, die Abfrageanweisung zu ändern. Zum Beispiel,

wenn ($this->dbcharset) {
@mysql_query("NAMEN FESTLEGEN ".$this->dbcharset);
}

Später ausführen

mysql_query("SETZEN @@sql_mode = ''");

Stellen Sie sicher, dass Sie MySQL 5 verwenden.

Die mysqli-Methode ist ähnlich, das heißt, die Ausführung ist

mysqli_query($this->connection_id, "SETZEN @@sql_mode = ''");

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Wissenspunkte zum strengen MySQL-Modus. Weitere relevante Inhalte zum strengen MySQL-Modus finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • 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
  • Detaillierte Erklärung zum Anzeigen und Einstellen des SQL-Modus in MySQL

<<:  js verwendet die Reduce-Methode, um Ihren Code eleganter zu gestalten

>>:  Einfache Implementierungsmethode der bidirektionalen Datenbindung im JS-Projekt

Artikel empfehlen

Der Unterschied zwischen br und br/ in HTML

Antwort von Stackflow: Einfaches <br> genügt...

So stellen Sie Daten mit Binlog in MySQL 5.7 wieder her

Schritt 1: Stellen Sie sicher, dass MySQL Binlog ...

So installieren Sie MySQL 8.0.17 und konfigurieren den Fernzugriff

1. Vorbereitung vor der Installation Überprüfen S...

Die Magie des tr-Befehls beim Zählen der Häufigkeit englischer Wörter

Wir alle kennen den Befehl tr, mit dem Ersetzunge...

So führen Sie eine Spring Boot-Anwendung in Docker aus

In den letzten Tagen habe ich gelernt, wie man Sp...

So installieren und speichern Sie die PostgreSQL-Datenbank in Docker

Überspringen Sie die Docker-Installationsschritte...

So verwenden Sie das Marquee-Tag im XHTML-Code

Im Forum habe ich gesehen, dass der Internetnutzer...

Vier Methoden zur Verwendung von JS zur Bestimmung von Datentypen

Inhaltsverzeichnis Vorwort 1. Art von 2. Instanz ...

Vue3 implementiert CSS unendlichen nahtlosen Scrolleffekt

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Beispiele zur Verwendung der Box-Shadow-Eigenschaft in CSS3

CSS enthält viele Attribute. Manche Attribute wer...