Suchen Sie my.cnf im MySQL-Installationsverzeichnis (für Windows-Systeme). my.ini) In der Datei
bedeutet das Hinzufügen von STRICT_TRANS_TABLES zu sql_mode, dass der strikte Modus aktiviert wird Nicht-strikter Modus. Starten Sie MySQL nach der Änderung neu
2. Funktionsbeschreibung des strengen Modus
Nein. Unterstützt das Einfügen von „Werten“ für sich selbst erhöhende Felder.
Unterstützt keine Textfelder mit Standardwerten
3. Beispiel:
<span style="color: rgb(0, 0, 0);">CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `content` text NOT NULL, PRIMARY KEY (`id`)<br/>) ENGINE=InnoDB DEFAULT CHARSET=utf8;</span>
Einen Datensatz einfügen, der Wert des Namens ist null
Im nicht-strikten Modus ausführen
<span style="color: rgb(0, 0, 0);">mysql> insert into mytable(content) values('programmer');<br/>Query OK, 1 row affected, 1 warning (0.00 sec)mysql> select * from mytable;<br/>+----+------+------------+| id | name | content |<br/>+----+------+------------+| 1 | | programmer |<br/>+----+------+------------+1 row in set (0.00 sec)</span>
Im strengen Modus ausführen
<“ konvertiert 🎜><span style="color: rgb(0, 0, 0);">mysql> insert into mytable(content) values('programmer');ERROR 1364 (HY000): Field 'name' doesn't have a default value</span>
„Wert für ID-Feld“ einfügen
Ausführen im nicht-strikten Modus
<span style="color: rgb(0, 0, 0);">mysql> insert into mytable(id,name,content) value('','fdipzone','programmer');<br/>Query OK, 1 row affected, 1 warning (0.00 sec)mysql> select * from mytable;<br/>+----+----------+------------+| id | name | content |<br/>+----+----------+------------+| 1 | fdipzone | programmer |<br/>+----+----------+------------+1 row in set (0.00 sec)</span>
<span style="color: rgb(0, 0, 0);">mysql> insert into mytable(id,name,content) value('','fdipzone','programmer');<br/>ERROR 1366 (HY000): Incorrect integer value: '' for column 'id' at row 1</span>
<span style="color: rgb(0, 0, 0);">mysql> insert into mytable(id,name,content) value(null,'fdipzone','programmer');<br/>Query OK, 1 row affected (0.00 sec)mysql> select * from mytable;<br/>+----+----------+------------+| id | name | content |<br/>+----+----------+------------+| 1 | fdipzone | programmer |<br/>+----+----------+------------+1 row in set (0.00 sec)</span>
3. Textfeld-Standardwerttest
Erstellen Sie eine Datentabelle mytable, in der Text den Standardwert default="
Ausgeführt festlegt im nicht-strikten Modus
<span style="color: rgb(0, 0, 0);">mysql> CREATE TABLE `mytable` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` varchar(20) NOT NULL, -> `content` text NOT NULL default '', -> PRIMARY KEY (`id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Query OK, 0 rows affected, 1 warning (0.03 sec)mysql> show tables;<br/>+------------------------------+| Tables_in_test_version |<br/>+------------------------------+| mytable |<br/>+------------------------------+</span>
Erklärt dieser Artikel den strengen MySQL-Modus? Weitere verwandte Empfehlungen finden Sie auf der chinesischen PHP-Website. Verwandte Empfehlungen: Erklärung zur zweispaltigen Datenmethode in der MySQL-Austauschtabelle Wie man mit PHP eine Zufallsdezimalmethode von 0 bis 1 generiert Das obige ist der detaillierte Inhalt vonEine Erklärung des strengen MySQL-Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!<span style="color: rgb(0, 0, 0);">mysql> CREATE TABLE `mytable` ( -> `id` int(11) NOT NULL AUTO_INCREMENT, -> `name` varchar(20) NOT NULL, -> `content` text NOT NULL default '', -> PRIMARY KEY (`id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;<br/>ERROR 1101 (42000): BLOB/TEXT column 'content' can't have a default value</span>