-2

テーブルの行サイズに設定された制限に達したため、テーブルに列を追加できません。

次のエラーが表示されます。

.#1118 - 行サイズが大きすぎます。BLOB をカウントしない、使用されるテーブル タイプの最大行サイズは 65535 です。一部の列を TEXT または BLOB に変更する必要があります。

MySQLの Web サイトでこの問題を調査しましたが、この問題を解決する方法がまだわかりません。

この問題を修正する方法と、テーブルに列を追加できるように設定を変更するために実行する必要がある設定またはスクリプトを知っている人はいますか?

4

1 に答える 1

3

そもそも行サイズが64kなのはなぜですか? それがあなたの問題です。設定が低すぎるわけではありません。

から:

http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html

各テーブルには、テーブル定義を含む .frm ファイルがあります。サーバーは次の式を使用して、ファイルに格納されているテーブル情報の一部を 64KB の上限に対してチェックします。

> if (info_length+(ulong) create_fields.elements*FCOMP+288+
>     n_length+int_length+com_length > 65535L || int_count > 255)

そのため、簡単に変更できるものではない可能性があります (ソース コードを変更してカスタム MySQL を実行する場合を除く)。スキーマを提供していただければ、より適切なアドバイスができるかもしれませんが、短い答えは、列が多すぎるか、または一部の VARCHAR などを text/blob に変更する必要があります。

(おそらく忌まわしい)スキーマを見ずに、アドバイスするのは難しいです。

于 2013-03-10T00:11:24.860 に答える