MySQL 的Enigma:為什麼文字列違反預設值
儘管在MySQL 中允許TEXT 欄位中使用預設值有明顯的理由,但用戶會遇到神秘的錯誤。這個難題讓開發人員感到困惑和沮喪,讓他們質疑這個限制背後的邏輯。
不一致:Linux 與 Windows
奇怪的是,這個錯誤只出現在 Windows 中MySQL 版本。在 Linux 和其他平台上,該限制僅表現為警告。這種不一致已成為 MySQL Bugtracker 中錯誤報告 (#19498) 的主題,並承認需要解決方案。
錯誤還是被忽略的不相容性?
MySQL 文件對此限制背後的基本原理保持沉默。有些人認為這是有意的設計選擇,而有些人則認為這是一個破壞平台相容性並破壞開發工作的缺陷。
停用嚴格模式作為解決方法
要繞過 Windows MySQL 中的此限制,使用者可以停用嚴格模式。這涉及編輯“my.ini”配置檔案中的“sql-mode”參數並將其值設為“MYSQL40”。或者,具有 root 存取權限的使用者可以執行 MySQL 查詢「SET @@global.sql_mode='MYSQL40';」達到相同的效果。
持續影響
儘管此限制對開發人員產生了影響,但它仍未得到解決,並且仍然是令人沮喪和不相容的根源。因此,開發人員必須保持警惕並調整他們的編碼實踐,以適應不同 MySQL 環境中的這些限制。
以上是為什麼 MySQL TEXT 欄位在 Windows 上不能有預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!