首頁 >資料庫 >mysql教程 >如何解決 MySQL 錯誤代碼 1118:行大小太大?

如何解決 MySQL 錯誤代碼 1118:行大小太大?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-05 01:09:08644瀏覽

How to Resolve MySQL Error Code 1118: Row Size Too Large?

解決MySQL 中的錯誤代碼1118:行大小超出限制

MySQL 中遇到錯誤代碼1118 表示行的大小超出了限制允許的限制為8126 位元組。建立包含大量列的擴充表時通常會出現此問題。

要解決此錯誤,請考慮實作以下解決方案:

最佳化列類型:

在您的架構中,您已將某些列聲明為CHAR(1),這表示字元限制僅為一個字元。用 TEXT 或 BLOB 欄位取代這些欄位將顯著增加其容量。此外,避免使用長列。

啟用 Barracuda 檔案格式:

MySQL 的 Barracuda 檔案格式增強了效能並允許更大的行大小。要啟動它,請將以下屬性加入MySQL 設定檔(my.ini):

innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_file_format_check = ON

調整innodb_strict_mode:

如果前面的措施沒有成功,嘗試將innodb_strict_mode 參數修改為0。此設定放寬了行大小檢查,允許插入記錄,即使其大小超出指定limit:

innodb_strict_mode             = 0

正如您在查詢中提到的,請注意,由於遺留限制,您無法修改表的結構。因此,探索上述解決方案並確定最適合您的特定應用的方法。

以上是如何解決 MySQL 錯誤代碼 1118:行大小太大?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn