sql_mode 功能
sql_mode 會影響MySQL支持的sql語法以及執(zhí)行的數(shù)據(jù)驗證檢查。通過設置sql_mode ,可以完成不同嚴格程度的數(shù)據(jù)校驗,有效地保障數(shù)據(jù)準確性
sql_mode 嚴格模式 VS 寬松模式
寬松模式
比如,插入的數(shù)據(jù)不滿足 表的數(shù)據(jù)類型,也可能接受,并且不報錯,只會有警告而且。
一個字段設置 char(10),如果插入 1234567890ABC,會ABC會自動舍去,只保留1234567890,sql不報錯的。
** 嚴格模式 ** 默認是嚴格模式
插入數(shù)據(jù)類型,不能隱式轉(zhuǎn)換的,最終就會報錯。
長度規(guī)定長度,會報錯。
設置sql_mode
臨時設置模式
set global sql_mode =‘XXXX’ ; ## 全局 重啟mysql 服務 就失效
set session sql_mode=‘XXXX’; ## 當前會話 關閉會話 就失效
永久設置模式
windows 系統(tǒng) 設置 my.ini (一般位置 C:\ProgramData\MySQL\MySQL Server 5.7 | C:\ProgramData\MySQL\MySQL Server 8.0),
但 要重啟 mysql 服務 才生效
linux /etc/my.cnf
生成環(huán)境,一般不能隨便重啟 mysql服務的,所有采用 臨時設置方法+永久設置方式 來解決線上問題。
查看mysql sql_mode
show variables like ‘sql_mode’;
select @@global.sql_mode;
select @@session.sql_mode;
select sql_mode
文章來源:http://www.zghlxwxcb.cn/news/detail-683077.html
sql_mode 參數(shù)值 可以設置
文章來源地址http://www.zghlxwxcb.cn/news/detail-683077.html
到了這里,關于mysql sql_mode數(shù)據(jù)驗證檢查的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!