ホームページ >データベース >mysql チュートリアル >MySQL エラー 1118:「行サイズが大きすぎます」を解決する方法?
MySQL 行サイズが大きすぎるエラー: 1118 コードへの対処
多数の列を持つ MySQL テーブルを作成するときに、次のような問題が発生する可能性があります。エラー コード 1118: 「行サイズが大きすぎます。」このエラーは、列の合計サイズがデフォルトの行形式によって課せられる制限を超えていることを示します。
行サイズの制限について
MySQL では、行サイズの制限行の形式によって異なります。デフォルトの行形式であるコンパクトには、8126 バイトのサイズ制限があります。圧縮や動的などの他の行形式では、より大きな制限が提供されます。
列の型の最適化
1118 エラーを解決するには、列のデータ型を最適化することを検討してください。たとえば、VARCHAR 列を TEXT に置き換えると、行サイズを大幅に削減できます。さらに、大きなデータ値には BLOB または LONG タイプの使用を検討してください。
Barracuda ファイル形式の有効化
MySQL 5.7 では、パフォーマンスと柔軟性が強化された Barracuda ファイル形式が導入されました。 Barracuda を有効にすると、より大きな行ストレージが可能になり、行サイズの問題が軽減されます。 Barracuda を有効にするには、my.ini ファイルに次の属性を追加します。
innodb_file_per_table=1 innodb_file_format=Barracuda innodb_file_format_check = ON
Strict モードの無効化
最後の手段として、Strict モードを無効にしてみてください。 MySQLの場合。ただし、これにより、潜在的なデータ破損の問題が発生する可能性があります。厳密モードを無効にするには、my.ini ファイルに次の属性を追加します:
innodb_strict_mode = 0
これにより、MySQL がレコード サイズ チェックを無視できるようになり、より大きな行を持つテーブルを作成できるようになります。
注: innodb_strict_mode などのサーバー パラメーターの変更は、潜在的なリスクとユーザーへの影響を考慮した後でのみ、慎重に行う必要があります。データ。
以上がMySQL エラー 1118:「行サイズが大きすぎます」を解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。