mysql - MySQL 中的 LOAD_FUNCTION 显示无效标识符
问题描述
我创建了一个表格,即图片以将图像插入表格中。使用插入命令并使用 load_function 加载我的图片后,它显示无效标识符。
CREATE table pics(id number(10),pics1 blob);
INSERT INTO pics
values(1,LOAD_FUNCTION('C:\Users\Vandana\Desktop\face\my_image.jpg'));
解决方案
您的问题是由您的CREATE TABLE
陈述引起的。
number
不是有效的 MySQL 列数据类型,您应该使用INTEGER(10) SIGNED
[sic]。
CREATE TABLE pics(id INTEGER(10) SIGNED, pics1 BLOB);
然而NUMBER
,对于 Oracle 数据库来说,它是一种有效的数据类型,这与 MySQL 非常不同。
LOAD_FUNCTION
不是有效的 MySQL 函数[原文如此]。
我相信您想要LOAD_FILE
,它将检索 blob 列的文件内容。
在引用 Windows 文件路径时,您还应该使用双反斜杠,以避免转义序列字符,如\n
.
INSERT INTO pics(id, pics1)
VALUES(1, LOAD_FILE('C:\\Users\\Vandana\\Desktop\\face\\my_image.jpg'));
请记住,它
LOAD_FILE
只能访问系统上的文件,并且运行数据库服务的用户/组具有读取权限。
有关secure_file_priv
更多详细信息,请参阅。
推荐阅读
- python-3.x - 从年月熊猫中提取月到列
- git - CLion:clang 格式和本地视图
- bash - 警告:a:使用 bash 中的递归函数进行合并排序中的循环名称引用
- java - 如何使图遍历算法适用于大图?
- python - Django:如何安排 Django 评论和相应回复的模板
- vba - VBA 中的多个 ElseIf 查询
- java - 三路数据库关系
- sql - 返回订单最多的客户的 SQL 查询
- javascript - 如何将代码从 Jquery 转换为 Javascript
- flutter - 如何在不使用 android studio 的情况下下载 android 模拟器