首頁 > 資料庫 > mysql教程 > 建立包含多列的表格時如何解決 MySQL 錯誤 1118:「行大小太大」?

建立包含多列的表格時如何解決 MySQL 錯誤 1118:「行大小太大」?

Mary-Kate Olsen
發布: 2025-01-04 11:31:35
原創
226 人瀏覽過

How to Resolve MySQL Error 1118:

建立包含325 列的表時,MySQL 中的行大小太大(錯誤代碼:1118)

嘗試建立包含大量列的MySQL 表時列數(本例為325),使用者可能會遇到「錯誤代碼:1118 行大小太大」錯誤。當表格行中資料的總大小超過資料庫允許的最大行大小時,就會發生此錯誤。

要解決此問題,可以採取以下幾種措施:

  1. 將欄位變更為TEXT 或BLOB: 錯誤訊息建議將欄位轉換為TEXT 或BLOB 資料類型以減少其儲存大小。 TEXT 和 BLOB 資料類型分別設計用於儲存大量非結構化或二進位資料。
  2. 啟用 Barracuda 檔案格式: 透過在 MySQL 設定檔中新增 innodb_file_format=Barracuda 設定(我的.ini),使用者可以切換到Barracuda檔案格式。 Barracuda 是一種較新的檔案格式,與傳統的 InnoDB 檔案格式相比,它提供了改進的效能並支援更大的行大小。
  3. 停用嚴格模式: 可以停用 innodb_strict_mode 設定以允許建立超過最大行大小的表。但請注意,停用嚴格模式在某些情況下可能會損害資料完整性。

在提供的範例中,使用者用 TEXT 取代 VARCHAR 資料列並啟用 Barracuda,但錯誤仍然存在。最終透過設定 innodb_strict_mode=0 禁用嚴格模式解決了該問題。儘管超出了最大行大小限制,這仍允許成功建立表。需要注意的是,禁用嚴格模式應被視為最後的手段,因為它對資料完整性有潛在影響。

以上是建立包含多列的表格時如何解決 MySQL 錯誤 1118:「行大小太大」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板