2009-03-02 17 views
0

私はmysqlデータベースにINSERTをしようとしていますが、値が898文字より長いと失敗します。この最大値を取得するか、より良い設定にするためのどこかにありますか?私は文字列を塊にハックし、必要ならばそれらを別々の行に格納しますが、一度に2kまで挿入することができます。PHPとMYSQLの最大可変長?

私はこれがLONGTEXTまたはBLOBフィールドを使用するとphpの問題であると推測していますが、dbに十分なスペース以上が必要です。

ありがとうございました。

+0

DBまたはPHPからエラーが発生しましたか? –

+0

echo(mysql_error())を実行できます。あなたの質問の後の行にエラーを見てください。 –

+0

「失敗する」と言うとどうなりますか?フィールドを切り捨てるか、挿入に失敗しますか?失敗した場合、関連するエラーメッセージは何ですか? – thomasrutter

答えて

0

これは、挿入しようとしているvarchar列であると仮定していますか?もしそうなら、私は最大の長さが898または900かそのようなものに設定されていると仮定します。

MySQL 5では、合計行サイズは65,536バイトまで可能です。そのため、varcharは、その下の合計行サイズを保持する任意のサイズに定義できます。

大量のテキスト(65,536)または長いテキスト(40億?)が必要な場合は、

+0

私はLONG​​TEXTフィールドとBLOBフィールドを使用していると私の質問で言いました。 – Maximillian

1

側注:あなたが大きな塊とテキスト列での作業に入るとき

は、MySQL max_allowed_packet変数に注意する必要があります。私はそれが少なくとも1Mにデフォルト設定されていると信じています。