一尘不染

通过 sql 脚本插入 BLOB?

java

想通过一个简单的 sql 脚本(例如填充测试数据库)将文件插入到 BLOB 字段中。我知道如何通过代码做到这一点,但我找不到如何执行 sql 脚本本身。

我试图通过路径,即

INSERT INTO mytable (id,name,file) VALUES(1,'file.xml',/my/local/path/file.xml);

但这失败了。

在代码中(例如 java),很容易创建一个 File 对象并将其传入,但是直接从 sql 脚本中,我被卡住了......

任何想法?


阅读 353

收藏
2021-05-30

共1个答案

一尘不染

为了测试,您可以插入文字十六进制字节或使用该RAWTOHEX(string)函数,如下所示。

create table a(id integer, item blob);
insert into a values(1,'54455354');
insert into a values(2, RAWTOHEX('Test'));
select UTF8TOSTRING(item) from a;
TEST
Test

附录:对于BLOB从文件加载字段,FILE_READ(fileNameString)可能是一个有用的替代方法。

insert into a values(3, FILE_READ('file.dat'));
2021-05-30