Suchen Sie my.cnf im MySQL-Installationsverzeichnis (Windows-System). ist my.ini)-Datei
Das Hinzufügen von STRICT_TRANS_TABLES zu sql_mode bedeutet, dass der strikte Modus aktiviert wird. Nach der Änderung wird MySQL neu gestartet #Zum Beispiel zeigt dies an, dass der strikte Modus aktiviert ist:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES2. Funktionsbeschreibung des strikten Modus# 🎜🎜## 🎜🎜#
Unterstützt das Einfügen von „Nullwerten“ nicht " in automatisch wachsende Felder
CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `content` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. Werttest für selbsterhöhende Feldeinfügung
Fügen Sie „Wert“ in das ID-Feld ein#🎜🎜 #Im nicht-strikten Modus ausgeführt
mysql> insert into mytable(content) values('programmer'); Query OK, 1 row affected, 1 warning (0.00 sec) mysql> select * from mytable; +----+------+------------+ | id | name | content | +----+------+------------+ | 1 | | programmer | +----+------+------------+ 1 row in set (0.00 sec)
#🎜🎜 #Im strikten Modus ausführen
mysql> insert into mytable(content) values('programmer'); ERROR 1364 (HY000): Field 'name' doesn't have a default value
mysql> insert into mytable(id,name,content) value('','fdipzone','programmer'); Query OK, 1 row affected, 1 warning (0.00 sec) mysql> select * from mytable; +----+----------+------------+ | id | name | content | +----+----------+------------+ | 1 | fdipzone | programmer | +----+----------+------------+ 1 row in set (0.00 sec)
Erstellen Sie eine Datentabelle mytable, in der Text den Standardwert default="#🎜 🎜#
Ausgeführt im nicht strikten Modus#🎜 🎜#mysql> insert into mytable(id,name,content) value('','fdipzone','programmer'); ERROR 1366 (HY000): Incorrect integer value: '' for column 'id' at row 1
Im strengen Modus ausgeführt
#🎜 🎜#mysql> insert into mytable(id,name,content) value(null,'fdipzone','programmer'); Query OK, 1 row affected (0.00 sec) mysql> select * from mytable; +----+----------+------------+ | id | name | content | +----+----------+------------+ | 1 | fdipzone | programmer | +----+----------+------------+ 1 row in set (0.00 sec)
Die Ausführung ist fehlgeschlagen, was dazu führt, dass der Inhalt Das Feld ist vom Typ TEXT und der Standardwert kann nicht verwendet werden.
Die Verwendung des strikten Modus von MySQL kann die Datensicherheit erhöhen, der Nachteil besteht jedoch darin, dass dadurch die Kompatibilität leerer Daten in der Datenbank verringert wird. Es wird empfohlen, dass die Entwicklungsumgebung den strikten Modus verwendet, um die Codequalität und Datengenauigkeit zu verbessern.Das obige ist der detaillierte Inhalt vonSo verwenden Sie den strengen MySQL-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!