我正在尝试将图像插入MySQL服务器。我做了一些研究,看起来最好的方法是通过LOAD_FILE()
。但是,LOAD_FILE()
始终返回null。我知道LOAD_FILE()
有4个条件:
我目前正在使用:
select LOAD_FILE('/Users/pricedb/Desktop/FolderName/imageName');
并返回NULL
我已确认已授予用户所有权限。文件必须位于服务器主机上是什么意思?服务器正在我的本地计算机上运行,并且文件位于那里,这是否意味着我很擅长?
任何建议都会受到高度赞赏,我不知道为什么它没有返回值。
答案 0 :(得分:0)
这是我在Windows 7上的命令:
select load_file("C:/Program Files (x86)/MySQL/MySQL Workbench CE 6.0.7/images/hieuImages/a.jpg");
它有效! 您可能尝试将图像复制到该目录中,然后在mysql中再次选择。
答案 1 :(得分:0)
" FILE"是一种行政特权。 如果您说已授予所有权限,那么它是否也包括全局管理权限?
这里是语法http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-global-privileges,但我找到了#34; MySQL Workbench" GUI更有帮助。
也可以查看操作系统文件权限。
答案 2 :(得分:0)
我有同样的问题。
发现要加载的文件必须位于mysql / mariadb有权读取的文件夹位置。 可以进行配置,但是 data 文件夹已经具有访问权限。
就我而言,我将文件复制到数据文件夹:C:\ Program Files \ MariaDB 10.3 \ data 而且比起我用完整路径来称呼它:
select load_file('C:\\Program Files\\MariaDB 10.3\\data\\test.txt');
答案 3 :(得分:0)
使用MySQL Workbench 8.0:
NULL
)。NULL
已被BLOB
取代。BLOB
,然后再次选择在编辑器中打开值。问候!
答案 4 :(得分:0)