Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mematikan mod ketat dalam mysql

Bagaimana untuk mematikan mod ketat dalam mysql

青灯夜游
Lepaskan: 2022-01-04 16:35:36
asal
9180 orang telah melayarinya

Cara untuk mematikan mod ketat mysql: 1. Buka dan edit fail konfigurasi mysql "my.cnf" 2. Cari kata kunci "sql-mode" dan ulas pernyataan yang berkaitan "sql- mod"; 3. Gunakan perintah "service mysqld restart" untuk memulakan semula mysql.

Bagaimana untuk mematikan mod ketat dalam mysql

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi mysql8, komputer Dell G3.

Semak sama ada Mysql mempunyai mod ketat didayakan:

Buka fail konfigurasi MySQL my.cnf (my.ini untuk tingkap) .

Cari mod-sql Jika tidak ditemui, ini bermakna mod tidak ketat. Jika

dicari, ini bermakna mod ketat dihidupkan, contohnya:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Salin selepas log masuk

Hidupkan dan matikan mod ketat

Hidupkan mod ketat:

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

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

service mysqld restart 重启mysql
Salin selepas log masuk

Matikan mod ketat:

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

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

service mysqld restart 重启mysql
Salin selepas log masuk

Kembangkan pengetahuan: perbandingan mod ketat dan mod tidak ketat Mod (mod santai)

  • Tidak menyokong memasukkan nilai nol ke dalam medan bukan nol
  • Adakah tidak menyokong memasukkan "nilai ke dalam medan yang meningkat sendiri
  • Tidak menyokong nilai lalai untuk medan teks

Contoh:

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;
Salin selepas log masuk
1 ujian nilai nol sisip medan bukan nol

Sisipkan Rekod, nilai nama adalah batal

Dilaksanakan dalam mod tidak ketat

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)

#执行成功
Salin selepas log masuk
Dilaksanakan dalam mod ketat

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

#执行失败,提示字段name不能为null值
Salin selepas log masuk

Tiga point di atas tidak lagi Lakukan ujian satu persatu

Dapat dilihat menggunakan mod ketat mysql boleh. menjadikan data lebih selamat dan ketat Kelemahannya ialah ia mengurangkan keserasian storan data yang kosong 🎜>Cadangan berkaitan: tutorial video mysql

, "

Tutorial Linux"

Atas ialah kandungan terperinci Bagaimana untuk mematikan mod ketat dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan