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

Umfassendes Verständnis des MySQL-Protokolls für langsame Abfragen

Inhaltsverzeichnis Was ist das Protokoll langsame...

Grafische Erklärung des Funktionsaufrufs der Protodatei in Vue

1. Proto kompilieren Erstellen Sie einen neuen Pr...

Zusammenfassung der Wissenspunkte zum Abdecken von Indizes in MySQL

Wenn ein Index die Werte aller abzufragenden Feld...

MySQL-Anweisungsanordnung und zusammenfassende Einführung

SQL-Anweisungen (Structured Query Language), also...

Einige Tipps zur Verwendung von Less in Vue-Projekten

Inhaltsverzeichnis Vorwort 1. Stildurchdringung 1...

MySQL kontrolliert die Anzahl der Versuche, falsche Passwörter einzugeben

1. So überwachen Sie MySQL-Deadlocks in Produktio...

Implementierungscode des JQuery-Schrittfortschrittsachsen-Plug-Ins

Jeden Tag ein jQuery-Plugin - Schritt-Fortschritt...

7 nützliche neue TypeScript-Funktionen

Inhaltsverzeichnis 1. Optionale Verkettung 2. Nul...