Подтвердить что ты не робот

Вставьте BLOB через sql script?

У меня есть база данных H2 (http://www.h2database.com), и я хотел бы вставить файл в BLOB поле через простой простой sql script (например, для заполнения тестовой базы данных). Я знаю, как это сделать с помощью кода, но я не могу найти, как сделать сам sql script.

Я попытался передать путь, т.е.

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

но это не удается.

Внутри кода (например, java) легко создать объект File и передать его, но непосредственно из sql script, я застрял...

Любая идея?

Дэвид

4b9b3361

Ответ 1

Для тестирования вы можете вставить литерал 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'));