Heim > Datenbank > MySQL-Tutorial > So deaktivieren Sie den strikten Modus in MySQL

So deaktivieren Sie den strikten Modus in MySQL

青灯夜游
Freigeben: 2022-01-04 16:35:36
Original
9199 Leute haben es durchsucht

So deaktivieren Sie den strengen MySQL-Modus: 1. Öffnen und bearbeiten Sie die MySQL-Konfigurationsdatei „my.cnf“. 2. Suchen Sie nach dem Schlüsselwort „sql-mode“ und kommentieren Sie die relevanten Anweisungen von „sql-mode“ aus . Verwenden Sie den Befehl „service mysqld restart“, um MySQL neu zu starten.

So deaktivieren Sie den strikten Modus in MySQL

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, MySQL8-Version, Dell G3-Computer.

Überprüfen Sie, ob sich MySQL im strikten Modus befindet:

Öffnen Sie die MySQL-Konfigurationsdatei my.cnf (my.ini für Windows).

Suche SQL-Modus Wenn es nicht gefunden werden kann, bedeutet dies, dass es sich um einen nicht strengen Modus handelt.

Suchen bedeutet, dass der strikte Modus aktiviert ist, zum Beispiel:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Nach dem Login kopieren

Strikten Modus ein- und ausschalten

Strikten Modus einschalten:

vi /etc/my.cnf #编辑mysql配置文件

搜索sql-mode关键字,若没有,在文件尾添加一行
替换成:
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

service mysqld restart 重启mysql
Nach dem Login kopieren

Strikten Modus ausschalten:

vi /etc/my.cnf #编辑mysql配置文件

搜索sql-mode关键字。注释sql-mode相关语句
#sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

service mysqld restart 重启mysql
Nach dem Login kopieren

Erweiterte Kenntnisse: strikter Vergleich zwischen Modus und nicht striktem Modus (entspannter Modus)

  • Das Einfügen von Nullwerten in Nicht-Null-Felder wird nicht unterstützt.
  • Das Einfügen von „Werten in sich selbst erhöhende Felder“ wird nicht unterstützt.
  • Unterstützt keine Textfelder mit Standardwerten

Beispiel:

CREATE TABLE `test_table` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(20) NOT NULL,
 `content` text NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Nach dem Login kopieren

1 Nicht-Null-Feld, Nullwerttest einfügen

Fügen Sie einen Datensatz ein, der Wert des Namens ist null

Wird im nicht strengen Modus ausgeführt

mysql> insert into test_table(content) values('51ask');
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from test_table;
+----+------+------------+
| id | name | content    |
+----+------+------------+
|  1 |      | 51ask      |
+----+------+------------+
1 row in set (0.00 sec)

#执行成功
Nach dem Login kopieren

Im strikten Modus ausgeführt

mysql> insert into test_table(content) values('51ask');
ERROR 1364 (HY000): Field 'name' doesn't have a default value

#执行失败,提示字段name不能为null值
Nach dem Login kopieren

Die oben genannten drei Punkte sind nicht mehr einzeln. Führen Sie den Test durch

Es ist ersichtlich, dass die Verwendung des strikten MySQL-Modus die Daten sicherer und strenger machen kann Es wird empfohlen, dass die Entwicklungsumgebung den strikten Modus verwendet, um die Qualität des Codes und den Schutz der Daten zu verbessern Tutorial"

Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie den strikten Modus in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage