嘗試在 MySQL 中建立具有預設值的 TEXT 欄位時,出現錯誤Windows 平台。然而,Linux和其他版本僅發出警告。這種不一致讓眾多用戶感到困惑,並引發了對其根本原因的猜測。
根據 MySQL Bugtracker 中的一個線程,TEXT 欄位缺乏預設值並不被視為錯誤。但是,跨平台的行為差異可能會導致相容性問題。 MySQL 開發人員 Bryce Nesbitt 指出,這種不一致源自於 Windows 和其他平台之間不同的嚴格程度。
在 Windows 上,「no DEFAULT」規則被當作錯誤強制執行,而在其他平台上,它會被強制執行。通常被視為警告。當在寬鬆平台上編寫的程式碼隨後在嚴格平台上運行時,這種差異可能會導致問題。
為了緩解此問題,開發人員可以透過修改 /my.ini 設定檔在 Windows 上的 MySQL 5 中停用嚴格模式。這涉及用「sql_mode='MYSQL40'」取代嚴格模式設定並重新啟動 MySQL 服務。此外,root/admin 使用者可以執行以下查詢來全域停用嚴格模式:
以上是為什麼 MySQL TEXT 欄位在某些平台上缺少預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!