2017-12-10 6 views
3

私はこれらのコード行を使用しますが、テーブルには、それは誰かがこの問題を解決するために私を助けてくださいヌルMySQLに画像を挿入するには?

create table Picture(imageID integer primary key, image blob); 
insert into Picture values(1, LOAD_FILE('D:\\flower.gif')); 

select * from Picture;

を示しています。私はMySQLを使用しています。 MySQLとSQL Developerのソリューションを私にも提供できます。

+0

構文が正しいように見えます。ファイルへのパスも正しいと確信していますか?そして、あなたが「ヌルを示している」と言ったら、どういう意味ですか? 'SELECT * FROM Picture WHERE imageID = 1'はあなたに何を表示しますか? –

+0

はい、ファイルのパスが正しいです。私に写真を表示するのではなく、テーブルにヌルを表示しています。 –

+0

バックスラッシュをエスケープする必要があります。代わりにスラッシュを使用してください。 –

答えて

0

The Fine Manualは説明する:

FILE権限はあなたに... LOAD_FILE()関数を使用して、サーバホスト上のファイルを読み書きする権限を与えます。 FILE特権を持つユーザは、MySQLサーバによって世界中で読み取り可能または読み込み可能なサーバホスト上のファイルをすべて読み取ることができます。

あなたは私たちにSHOW GRANTの出力を共有しませんでした。

*。* TO 'X' @ 'Y'コマンドでGRANT FILEを発行することを検討してください。

また、接続文字列がlocalhost以外のマシンを参照する場合は、.gifファイルがクライアントマシンではなくそのサーバーマシンで読み取れることを確認する必要があります。 mysqldが実行しているUIDは、ファイルシステムの読み込み権限が必要なものです。

関連する問題