MySQL系列之SQL MODE學習筆記

2021-09-28 14:54:05 字數 1115 閱讀 8368

最近在學習《mysql技術內幕:sql程式設計》並做了筆記,本部落格是一篇筆記型別部落格,分享出來,方便自己以後複習,也可以幫助其他人

sql_mode:mysql特有的乙個屬性,用途很廣,可以通過設定屬性來實現某些功能支援

# 全域性的sql_mode 

select @@global.sql_mode

;# 當前會話的sql_mode

select @@session.sql_mode

;

sql_mode預設值是為空的,對於sql_mode的設定可以在mysql配置檔案(my.ini或者my.cnf),或者直接通過命令設定

嚴格模式:是指將sql_mode設定為strict_trans_tables或者strict_all_tables,設定為嚴格模式是不允許非法的操作的,比如將null值寫到非空要求的字段裡,或者寫入不合法的日期資料,比如』2019-09-40』

set

global sql_mode =

'strict_trans_tables'

;set

global sql_mode =

'strict_all_tables'

;

資料原本有資料的情況,就不要直接set,用concat連線起來:

在預設情況下查詢是這樣的,如果設定pad_char_to_full_length,查詢出來的是:

下面給出幾種選項的組合:

Mysql之SQL Mode用法詳解

點我進入原文 投稿 shichen2014 字型 增加 這篇文章主要介紹了mysql之sql mode用法,可以幫助使用者更好的理解mysql的工作模式,需要的朋友可以參考下 一 mysql sql mode簡介 通常來說mysql伺服器能夠工作在不同的sql模式下,並能針對不同的客戶端以不同的方式...

MySql版本問題sql mode

my.cnf 新增如下 sql mode only full group by,strict trans tables,error for division by zero,no auto create user,no engine substitution 1 檢視sql mode select ...

mysql的sql mode合理設定

mysql的sql mode合理設定 sql mode是個很容易被忽視的變數,預設值是空值,在這種設定下是可以允許一些非法操作的,比如允許一些非法資料的插入。在生產環境必須將這個值設定為嚴格模式,所以開發 測試環境的資料庫也必須要設定,這樣在開發測試階段就可以發現問題 sql mode常用值如下 o...