MySQL數據庫的嚴格模式

很多集成的PHP環境(PHPnow WAMP Appserv等)自帶的MySQL貌似都沒有開啓MySQL的嚴格模式,何爲MySQL的嚴格模式,簡單來說就是MySQL自身對數據進行嚴格的校驗(格式、長度、類型等),比如一個整型字段我們寫入一個字符串類型的數據,在非嚴格模式下MySQL不會報錯,同樣如果定義了char或varchar類型的字段,當寫入或更新的數據超過了定義的長度也不會報錯。我認爲這個對於編程來說沒有任何好處,雖然我們儘量在代碼中做數據校驗。MySQL開啓了嚴格模式從一定程序上來講師對我們代碼的一種測試,如果我們的開發環境沒有開啓嚴格模式在開發過程中也沒有遇到錯誤,那麼在上線或代碼移植的時候將有可能出現不兼容的情況,因此在開發過程做最好開啓MySQL的嚴格模式。

如何開啓?

1.可以通過執行SQL語句來開啓,但是隻對當前連接有效,下面是SQL語句:

MySQL

setsql_mode= "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";

2.通過修改MySQL的配置文件,在配置文件中查找sql-mode,將此行修改成爲:

MySQL

sql-mode"STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

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

原文鏈接:MySQL數據庫的嚴格模式,轉載請註明來源!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章