sql >> データベース >  >> RDS >> Mysql

BLOb:すべてのデータを読み取ることはできませんが、数kb

    あなたのプログラムは正しいです。ファイルサイズが小さい場合は、正常に機能します。 BLOBを使用している場合 そのバイナリデータを格納するデータ型は、LONGBLOBに変更します 。 BLOBにファイルを保存しようとした場合 データフィールドであり、ファイルサイズがBLOBデータ型の最大許容サイズを超える場合、コンテンツは切り捨てられ、ファイルの一部のコンテンツが失われます(ファイルサイズによって異なります)。 LONGBLOBを使用している場合でも データ型チェックしなければならないことがいくつかあります。説明します

    mysqlのWebサイトでは、LONGBLOBの最大ファイルサイズを確認できます。 4GBです。しかし、それは多くのことに依存します。大きなファイルを保存するには、いくつかのことを確認する必要があります。まず、my.iniにあります ファイルには、max_allowed_packetというプロパティがあります 、mysqlクライアントまたはサーバーとの間で送受信できる最大のパケットを指定します。 max_allowed_packetを設定する必要があります より高い値へのプロパティ。そして、mysqlを再起動します。一部のファイルシステムでは、4GBのファイルは許可されません。その場合、それほど大きなファイルをロードすることはできません。

    あなたの場合、max_allowed_packetを設定すると思います プロパティをより高い値にすると、問題が修正されます。

    次のテーブル作成スクリプトを使用できると思います

    CREATE TABLE `image` (
        `id` INT(10) NULL DEFAULT NULL,
        `fs` LONGBLOB NULL,
        `filen` VARCHAR(50) NULL DEFAULT NULL
    )
    


    1. SMART mySQL&PHP検索エンジンを構築するための最良の方法は?

    2. PHPとMySQLを書き直して、HTMLリストを等しい列値でグループ化するにはどうすればよいですか?

    3. postgisでポリゴン内のすべてのポイントを見つける方法は?

    4. 行内のすべての列を日付からタイムスタンプMySQLに変換します