12

非常に長いテキスト文字列を MySQL Blob 列に挿入しようとしていますが、MySQL は 64kB のデータしか保存していません。文字列の長さは 75360 文字です。私はPHPのmysql_connect().

何か案は?

それがBlobかTextかで違いはありますか?私はもともとそれをテキストとして持っていましたが、影響を与えずに変更しました。

4

4 に答える 4

30

これは BLOB 列の最大サイズだからです。MEDIUMBLOB/LONGBLOB または MEDIUMTEXT/LONGTEXT を使用する必要があります。

于 2009-01-03T20:31:13.450 に答える
6

MySQLのBLOBタイプは、最大 65,534 バイトを格納できます。これを超えるデータを格納しようとすると、MySQL はデータを切り捨てます。 MEDIUMBLOB最大 16,777,213 バイト、LONGBLOB最大 4,294,967,292 バイトを格納できます。

厳密な SQL モード ( MySQL モード) を有効にすると、列の型に収まらないデータを格納しようとするとエラーが発生します。

于 2009-01-03T20:36:29.353 に答える
2


また、BLOB と TEXT BLOBS がバイナリ データ用であることに違いがあるかどうかも尋ねました。BLOB フィールドに対して LIKE クエリを実行すると、大文字と小文字が区別されます。

すなわち

SELECT 'TEXT' LIKE 'TEXT';
=> 1 for both BLOB and TEXT

SELECT 'TEXT' LIKE 'text';
=> 1 for TEXT
=> 0 for BLOB
于 2009-01-03T23:39:44.740 に答える
0

ドキュメントによると、ブロブ列はわずか64Kbです

代わりに mediumblob 列タイプを試してください...

于 2009-01-03T20:33:20.717 に答える