關於mysql嚴格模式的開啟、關閉
由於項目中對一些默認值設置問題,以及種種原因,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]下加入即可,推薦第二種方法,可以一勞永逸。