LONGBLOB型のフィールドに825KB分のbase64エンコードした、バイナリデータを入れたのですが
どうしてか上手くいきません。
容量が小さいときは上手くいくのですが、何故でしょうか??
MySQLのバージョンやテーブル構成が分からないのですが、MySQL バージョン 3.23 までとMyISAMの場合は、1レコードあたり16Mバイトの制約があります。これを超えていないかどうかご確認下さい。
http://dev.mysql.com/doc/refman/4.1/ja/column-types.html
上記で読めるリファレンスマニュアルに『バージョン 4.x 以降、LONGTEXT 型または LONGBLOB 型のカラムで許容される最大長は、クライアント/サーバプロトコル間の通信バッファおよび使用可能なメモリ量にしたがって調整された最大パケットサイズによって決まる。』と書かれてます。
http://dev.mysql.com/doc/refman/4.1/ja/blob.html
上記ページには『メッセージバッファのサイズ(max_allowed_packet)は変更できるが、サーバ側とクライアント側の両方で変更を行う必要がある』と書かれていますので変更したつもりでも片方しか変えてなければ変更できてない事になりそうですね。
コメント(0件)