mysql嚴格模式的開啟 關閉

2022-05-17 06:47:21 字數 917 閱讀 1463

由於專案中對一些預設值設定問題,以及種種原因,mysql資料庫需要使用非嚴格模式開發(mysql最近的版本預設是開啟嚴格模式的)。

linux下mysql服務下操作步驟是:

1、進入mysql服務
2、執行set操作修改,我們專案是直接設定為''

mysql> set global sql_mode=''; #這種方法修改,當前會話失效後,這個修改就沒意義了,建議修改配置檔案的方式修改

3、修改後,不需要重啟mysql服務,立即生效
4、檢查是否生效,執行sql

select @@sql_mode;

通過配置檔案修改:

linux找my.cnf檔案

window的修改辦法是找my.ini

sql_mode=no_engine_substitution,strict_trans_tables

嚴格模式主要用以下場景

不支援對not null欄位插入null值

不支援對自增長字段插入」值

不支援text欄位有預設值

如何開啟mysql的嚴格模式

1.可以通過執行sql語句來開啟,但是只對當前連線有效,下面是sql語句:

set sql_mode="strict_trans_tables,no_auto_create_user,no_engine_substitution";

2.通過修改mysql的配置檔案,在配置檔案中查詢sql-mode,將此行修改成為:

sql-mode="strict_trans_tables,no_auto_create_user,no_engine_substitution"

如果查詢不到sql-mode=則在[mysqld]下加入即可,推薦第二種方法,可以一勞永逸。

mysql5 7 如何關閉嚴格模式

mysqld 下面新增該行 不能有空格 不能有雙引號單引號sql mode ignore space no zero in date no zero date error for division by zero no auto create user no engine substitution或...

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

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

MySQL 嚴格模式與非嚴格模式

檢視 mysql 是否是嚴格模式 select sql mode 如果顯示包含 strict trans tables 或 strict all tables,則代表 mysql 開啟了嚴格模式 反之,是非嚴格模式 非嚴格模式是乙個相對概念 對於 innodb 引擎來說,strict trans t...