解決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中文網其他相關文章!