mysql严格模式 报错_代码一上传服务器就报错-尝试开启 MySQL 严格模式
先前遇到過一個非常奇怪的問題,寫 MySQL 數據庫的 web 程序的時候,在自己本機環境下跑的好好的,一上傳到遠程服務器環境上,就各種報錯,各種異常。一般來講,問題的根源多半是環境差異導致的,且大概率是因為自己的代碼寫的確實有問題。可以首先去排查是否是本機沒有開啟 MySQL 嚴格模式。
很多人的本機 MySQL 環境是來自于網上流行的那種打包好的組件之一,比如說 xampp、PHPStudy 之類,這些套件中的 MySQL 多半是沒有開啟嚴格模式(STRICT_TRANS_TABLES)。嚴格模式和非嚴格模式的區別就在于,嚴格模式會對數據類型、長度、格式等包括主鍵進行嚴格校驗,但凡數據有不一致,則會報錯,非嚴格模式則會進行一定程度的寬容,親測,如果一個字段設置為不可為空,SQL 執行的時候送的空,SQL 可以正常執行成功。
對于本機開發環境來講,為了避免麻煩,最好開啟嚴格模式。
開啟方式1:
執行 SQL 語句
set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
開啟方式2:
修改配置文件,一般配置文件為 my.ini 或 my.cnf 。找到 sql-mode 修改為如下內容。
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
總結
以上是生活随笔為你收集整理的mysql严格模式 报错_代码一上传服务器就报错-尝试开启 MySQL 严格模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql支撑union_mysql 不
- 下一篇: mysql 数据类型 int_MySQL