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

JavaScript implementiert den Div-Maus-Drag-Effekt

In diesem Artikel wird der spezifische Code für J...

Zabbix überwacht die Konfiguration der Docker-Anwendung

Der Einsatz von Containern kommt immer häufiger v...

Eine sehr detaillierte Erklärung des Linux DHCP-Dienstes

Inhaltsverzeichnis 1. DHCP-Dienst (Dynamic Host C...

Einige allgemeine erweiterte SQL-Anweisungen in MySQL

Erweiterte MySQL-SQL-Anweisungen benutze kgc; Tab...

MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

Inhaltsverzeichnis 1. Konzept 2. Umgebungsbeschre...

JavaScript zum Erzielen digitaler Uhreffekte

In diesem Artikelbeispiel wird der spezifische Co...

Lösen Sie das Problem, dass Docker Sudo-Operationen verwenden muss

Die Schritte sind wie folgt 1. Erstellen Sie eine...

Verwendung und Verständnis von MySQL-Triggern

Inhaltsverzeichnis 1. Was ist ein Auslöser? 2. Er...