エラー コード 1118 への対処: MySQL で行サイズが制限を超えています
MySQL でエラー コード 1118 が発生した場合は、行のサイズが制限を超えていることを示します。許容制限は 8126 バイトです。この問題は、多数の列を含む大規模なテーブルを作成するときによく発生します。
このエラーに対処するには、次の解決策の実装を検討してください:
列の型の最適化:
スキーマでは、一部の列を CHAR(1) として宣言しています。これは、文字制限が 1 文字のみであることを意味します。これらを TEXT 列または BLOB 列に置き換えると、容量が大幅に増加します。さらに、LONG 列の使用は避けてください。
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 に変更してみてください。この設定により、行サイズのチェックが緩和され、サイズが制限を超えている場合でもレコードを挿入できるようになります。指定された制限:
innodb_strict_mode = 0
クエリで述べたように、従来の制限によりテーブルの構造を変更できないことに注意してください。したがって、上記のソリューションを検討し、特定のアプリケーションに最適なアプローチを特定してください。
以上がMySQL エラー コード 1118 を解決する方法: 行サイズが大きすぎますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。