日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 严格模式_MySQL 开启/关闭 严格模式(Strict Mode)

發布時間:2025/3/12 数据库 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 严格模式_MySQL 开启/关闭 严格模式(Strict Mode) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[廣告:最高 ¥2000 紅包]阿里云服務器、主機等產品通用,可疊加官網常規優惠使用 | 限時領取

查看 Mysql 是否開啟嚴格模式:

打開 MySQL 配置文件 my.cnf(windows為my.ini)。

搜索?sql-mode?如果搜索不到就代表?非嚴格模式 。

搜索到了就代表開啟了嚴格模式,例如:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

一:開啟 關閉嚴格模式

開啟嚴格模式:

vi /etc/my.cnf #編輯mysql配置文件

搜索sql-mode關鍵字,若沒有,在文件尾添加一行

替換成:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIO

service mysqld restart 重啟mysql

關閉嚴格模式:

vi /etc/my.cnf #編輯mysql配置文件

搜索sql-mode關鍵字。注釋

sql-mode相關語句

#sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIO

service mysqld restart 重啟mysql

二:嚴格模式 與 非嚴格模式(寬松模式)對比

不支持對not null字段插入null值

不支持對自增長字段插入”值

不支持text字段有默認值

例子:

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;

1 not null字段插入null值測試

插入一條記錄,name的值為null

在非嚴格模式下執行

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)

#執行成功

在嚴格模式下執行

mysql> insert into test_table(content) values('51ask');

ERROR 1364 (HY000): Field 'name' doesn't have a default value

#執行失敗,提示字段name不能為null值

上述三點不再一一做測試。

由此可見:使用mysql嚴格模式可以使數據更加安全嚴格,缺點是減少了對空數據入庫的兼容性。建議開發環境使用嚴格模式以提高代碼的質量及對數據的嚴謹性。

總結

以上是生活随笔為你收集整理的mysql 严格模式_MySQL 开启/关闭 严格模式(Strict Mode)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。