通过sql脚本插入BLOB?

时间:2010-04-09 12:26:25

标签: sql scripting blob h2

我有一个H2数据库(http://www.h2database.com),我想通过简单的简单sql脚本将文件插入BLOB字段(例如填充测试数据库)。我知道如何通过代码来做到这一点,但我找不到如何做sql脚本本身。

我试图通过这条路,即

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

但这失败了。

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

有什么想法吗?

大卫

2 个答案:

答案 0 :(得分:38)

要进行测试,您可以插入文字hex bytes或使用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'));

答案 1 :(得分:5)