本篇內(nèi)容介紹了“如何關(guān)閉MySQL的嚴(yán)格模式”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為河池企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),河池網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
關(guān)閉mysql嚴(yán)格模式的方法:1、打開并編輯mysql配置文件“my.cnf”;2、搜索“sql-mode”關(guān)鍵字,將“sql-mode”的相關(guān)語句注釋掉;3、使用“service mysqld restart”命令重啟mysql即可。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、mysql8版本、Dell G3電腦。
查看 Mysql 是否開啟嚴(yán)格模式:
打開 MySQL 配置文件 my.cnf(windows為my.ini)。
搜索 sql-mode如果搜索不到就代表 非嚴(yán)格模式 。
搜索到了就代表開啟了嚴(yán)格模式,例如:
sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
開啟 關(guān)閉嚴(yán)格模式
開啟嚴(yán)格模式:
vi /etc/my.cnf #編輯mysql配置文件 搜索sql-mode關(guān)鍵字,若沒有,在文件尾添加一行 替換成: sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION service mysqld restart 重啟mysql
關(guān)閉嚴(yán)格模式:
vi /etc/my.cnf #編輯mysql配置文件 搜索sql-mode關(guān)鍵字。注釋sql-mode相關(guān)語句 #sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION service mysqld restart 重啟mysql
擴(kuò)展知識(shí):嚴(yán)格模式 與 非嚴(yán)格模式(寬松模式)對(duì)比
不支持對(duì)not null字段插入null值
不支持對(duì)自增長(zhǎng)字段插入”值
不支持text字段有默認(rèn)值
例子:
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值測(cè)試
插入一條記錄,name的值為null
在非嚴(yán)格模式下執(zhí)行
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) #執(zhí)行成功
在嚴(yán)格模式下執(zhí)行
mysql> insert into test_table(content) values('51ask'); ERROR 1364 (HY000): Field 'name' doesn't have a default value #執(zhí)行失敗,提示字段name不能為null值
上述三點(diǎn)不再一一做測(cè)試。
由此可見:使用mysql嚴(yán)格模式可以使數(shù)據(jù)更加安全嚴(yán)格,缺點(diǎn)是減少了對(duì)空數(shù)據(jù)入庫(kù)的兼容性。建議開發(fā)環(huán)境使用嚴(yán)格模式以提高代碼的質(zhì)量及對(duì)數(shù)據(jù)的嚴(yán)謹(jǐn)性。
“如何關(guān)閉mysql的嚴(yán)格模式”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!