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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows mysql4.1安装_W
- 下一篇: linux进程创建时间,linux进程创