MySQL 行大小太大錯誤:解決1118 程式碼
建立包含大量列的MySQL 表時,您可能會遇到錯誤代碼1118:「行大小太大。」此錯誤表示列的組合大小超出了預設行格式所施加的限制。
了解行大小限制
在 MySQL 中,行大小限制會根據行格式而變化。預設行格式“緊湊”的大小限制為 8126 位元組。其他行格式(例如壓縮和動態)提供更大的限制。
最佳化列類型
要解決 1118 錯誤,請考慮最佳化列的資料類型。例如,用 TEXT 取代 VARCHAR 資料列可以顯著減少行大小。此外,考慮對大資料值使用 BLOB 或 LONG 類型。
啟用 Barracuda 檔案格式
MySQL 5.7 引入了 Barracuda 檔案格式,它提供了增強的效能和靈活性。啟用 Barracuda 可以透過允許更大的行儲存來緩解行大小問題。要啟用梭子魚,請將以下屬性新增至您的my.ini 檔案:
innodb_file_per_table=1 innodb_file_format=Barracuda innodb_file_format_check = ON
停用嚴格模式
作為最後的手段,您可以嘗試停用嚴格模式對於MySQL。但是,這可能會讓您面臨潛在的資料損壞問題。若要停用嚴格模式,請將以下屬性新增至您的 my.ini 檔案:
innodb_strict_mode = 0
這將允許 MySQL 忽略記錄大小檢查並允許您建立具有更大行的表。
注意:修改伺服器參數(如 innodb_strict_mode)應謹慎進行,並且只有在考慮到資料的潛在風險和影響後才能進行。
以上是如何解決 MySQL 錯誤 1118:「行大小太大」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!