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

LOAD_FILEを使用してファイルをMySQLBLOBにロードする方法は?

    マニュアル 次のように述べています:

    LOAD_FILE(file_name)

    ファイルを読み取り、ファイルの内容を文字列として返します。この機能を使用するには、ファイルがサーバーホスト上にあり、ファイルへのフルパス名を指定し、FILE特権を持っている必要があります。ファイルはすべての人が読み取れる必要があり、そのサイズはmax_allowed_pa​​cketバイト未満である必要があります。 secure_file_privシステム変数が空でないディレクトリ名に設定されている場合、ロードするファイルはそのディレクトリに配置する必要があります。

    上記の条件のいずれかが満たされていないためにファイルが存在しないか、読み取ることができない場合、関数はNULLを返します。

    MySQL 5.0.19以降、character_set_filesystemシステム変数は、リテラル文字列として指定されたファイル名の解釈を制御します。

    mysql> UPDATE t
                SET blob_col=LOAD_FILE('/tmp/picture')
                WHERE id=1;
    

    このことから、あなたの場合は間違っている可能性のあることが複数あります...

    • フルパスを通過していますか?
    • 特権は正しく設定されていますか?
    • 関数は何を返しますか? NULL?
    • マニュアルに記載されているクエリで試してみましたか?


    1. ORA02063DG4ODBCエラーの調査

    2. PostgreSQL ConferenceEurope2018で学んだ5つのクールなこと

    3. すべてのテーブルのSQLServerデータベースに外部キー制約を削除する方法-SQLServer/TSQLチュートリアルパート72

    4. Oracle:テーブルに属するすべてのトリガーを検索するSQLクエリ?