sqlite – 将数据插入blob

前端之家收集整理的这篇文章主要介绍了sqlite – 将数据插入blob前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用sqlite3的 shell将二进制数据插入到blob中,这意味着常规的sql语句.这是我的表:

CREATE TABLE MYTABLE
    (ID INTEGER,BINDATA BLOB NOT NULL,SOMEFK INTEGER REFERENCES OTHERTABLE(ID) NOT NULL,PRIMARY KEY(ID)
);

这是我正在尝试的插入语句:

INSERT INTO MYTABLE (BINDATA,SOMEFK)
VALUES (__READBINDATA('/tmp/somefile'),1);

__READBINDATA(文件)是我正在寻找的功能.那可能吗?

解决方法

没有内置函数或shell函数文件读入blob.

但是,在hexdump工具的帮助下,可以将文件内容转换为blob literal

echo "insert into mytable(bindata,somefk) " \
     "values(x'"$(hexdump -v -e '1/1 "%02x"' /tmp/somefile)"',1);"

然后可以将此命令通过管道传送到sqlite3 shell.

猜你在找的Sqlite相关文章