我有一个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脚本,我被卡住了......
有什么想法吗?
大卫
答案 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)
不是h2database,但可能有帮助; http://jerrytech.blogspot.com/2009/03/tsql-to-insert-imageblog.html