MySQL 行大小太大錯誤(代碼1118):全面解釋
嘗試建立包含大量列的表時,例如提供325 列的範例,MySQL 可能會拋出錯誤,指示行大小超出最大限制。在處理大型表時,此錯誤很常見,並且可能會非常令人沮喪。
問題中提到的故障排除步驟之一包括將 VARCHAR 資料列變更為 TEXT 或 BLOB。 TEXT和BLOB資料類型用於儲存大量數據,例如文字或二進位數據,與VARCHAR相比可以容納更多的數據。此外,在 MySQL 中引入 Barracuda 檔案格式的目的是提高效能和可擴展性,特別是對於大型表。
但是,即使在實施這些措施之後,問題仍然存在。要解決此問題,另一個解決方案是修改 MySQL 設定參數 innodb_strict_mode。
將 innodb_strict_mode 設為 0:
根據 MySQL 文檔,將 innodb_strict_mode 設為 0 會停用某些檢查並允許更寬鬆地處理資料驗證。這可以解決與行大小超出限制相關的錯誤。
如何修改 innodb_strict_mode:
innodb_strict_mode = 0
一旦 innodb_strict_mode 設定為 0,行大小限制強制執行放鬆,允許建立表時不會出現先前的錯誤。
需要注意的是,停用嚴格模式可能會對資料完整性和準確性產生影響。因此,建議謹慎使用該方案,並考慮對資料庫功能的影響。
以上是為什麼 MySQL 會拋出行大小太大錯誤 (1118) 以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!