回答編集履歴
1
公式リファレンスへのリンクを追加
answer
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
デフォルトで InnoDB は1レコードあたり8KB(8192Byte)以下である必要があります。DYNAMIC/COMPRESSED 方式においてTEXT等の可変長カラムは20Byteのポインタ情報のみを格納するので、計算上は400カラムほど作成できるはずなのですが、実際に試したところ197カラムまでしか作ることができませんでした。メカニズムは分からないのですが、**1カラムあたり41Byteほど確保**するようです。(40Byte以下のデータはインライン(ノード内)に記録されるので、それの予約??)
|
6
6
|
|
7
|
+
[MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.9.3 DYNAMIC および COMPRESSED 行フォーマット](https://dev.mysql.com/doc/refman/5.6/ja/innodb-row-format-dynamic.html)
|
8
|
+
|
7
9
|
新しいサーバーでのみエラーになったのは、MySQL 5.7 で InnoDB のエラーチェックが厳密になったためだと思います。(innodb_strict_mode が ON)
|
8
10
|
|
9
11
|
---
|