MySQL 嚴格模式與非嚴格模式

2021-10-10 15:35:20 字數 774 閱讀 7470

檢視 mysql 是否是嚴格模式

select @@sql_mode;
如果顯示包含 strict_trans_tables 或 strict_all_tables,則代表 mysql 開啟了嚴格模式;反之,是非嚴格模式(非嚴格模式是乙個相對概念)。

對於 innodb 引擎來說,strict_trans_tables 和 strict_all_tables 作用是一樣的,如果插入字段值與字段型別不一致,則失敗並回滾。

innodb 即使你是多條插入,也會一併回滾

insert into points_goods(branch_id, title, price, stock, add_time) values

('branch_id', 'title', 3.9, 100, '2020-10-14 16:15:02'),

('1', 'title', 3.9, 100, '2020-10-14 16:15:02'),

('3', 'title', 3.9, 100, '2020-10-14 16:15:02'),

('2', 'title', 3.9, 100, '2020-10-14 16:15:02');

JavaScript嚴格模式與非嚴格模式之間的區別

嚴格模式 非嚴格模式 禁止使用with語句 允許使用with語句 所有變數要先宣告 使用未宣告的變數將隱式宣告為全域性變數 函式 非方法 中的this是undefinedthis是全域性物件 給唯讀屬性和不可擴充套件的物件建立新成員將丟擲型別錯誤異常 只是簡單的操作失敗 傳入eval 的 不能在定義...

mysql 嚴格模式 MySql 嚴格模式相關配置

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

Hive的嚴格模式和非嚴格模式

通過開啟嚴格模式,主要是為了禁止某些查詢 這些查詢可能造成意想不到的壞的結果 目前主要禁止3種型別的查詢 1 分割槽表查詢 在查詢乙個分割槽表時,必須在where語句後指定分割槽字段,否則不允許執行。因為在查詢分割槽表時,如果不指定分割槽查詢,會進行全表掃瞄。而分割槽表通常有非常大的資料量,全表掃瞄...