MySQLを利用しています。
あるテーブルのblobカラムにSQL文で直接画像ファイルを登録したいです。
以下、stackoverflowを参考に、LOAD_FILE()関数を利用したり、file権限をgrantしたりしているのですが、insertできません。
http://stackoverflow.com/questions/8439202/upload-image-directly-through-mysql-command-line
http://stackoverflow.com/questions/18069054/mysql-load-file-loads-null-values
以下のような、SQLを実行して、SQL自体は実行できるのですが、selectすると、blobのカラムがnullで取得されます。
insert into {テーブル名} values (null,'test_title','test_img_name',LOAD_FILE('/home/vagrant/app/assets/images/about.png'),'test_description',current_date(),current_date(),'test_tag');
blobへの画像ファイル登録について、何かいい方法があれば、教えてください。
よろしくお願いします。
*追加情報
・権限はあります。
mysql> show grants -> ;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for {ユーザ名}@localhost |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON . TO {ユーザ名}@'localhost' IDENTIFIED BY PASSWORD '*E961DD5D30A444017136FD6991342C798551F8A4' WITH GRANT OPTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
・ファイルのパーミッションも特に問題ないです。
[vagrant@localhost images]$ ls -l
合計 40
-rwxrwxrwx 1 vagrant vagrant 6462 9月 29 03:01 2015 about.png
・ファイルパスを指定して、selectとすると、NULLが返ってきます。
mysql> select hex(LOAD_FILE('/home/vagrant/app/assets/images/about.png'));
+-----------------------------------------------------------------------------------------+
| hex(LOAD_FILE('/home/vagrant/app/assets/images/about.png')) |
+-----------------------------------------------------------------------------------------+
| NULL |
+-----------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
*さらに追加情報
切り分けとして、以下を実施しました。
test.txtというファイルを作成して権限をつけて、同じことをしましたが、やはりだめでした。
mysql> select hex(LOAD_FILE('/home/vagrant/test.txt'));
+------------------------------------------+
| hex(LOAD_FILE('/home/vagrant/test.txt')) |
+------------------------------------------+
| NULL |
+------------------------------------------+
1 row in set (0.00 sec)
VMだとファイルが見れないとか環境面的な問題も考えられるのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/01 06:59