如何使用 blob 从 sqlite 数据库获取 sql 转储?
我需要创建 sql 转储来修补现有的数据库文件。 我知道如何使用 sqlite3 命令行客户端创建 sql 转储,但它不能与 blob 正常工作。
如何使用适当的 blob 创建 sql 转储? sqlite3 .dump 命令是否有任何选项可以将 blob 编码为字符串?
我需要一个可编写脚本的解决方案才能将其集成到构建脚本中。
干杯
I need to create sql dumps in order to patch existing database files.
I know how to create sql dumps with sqlite3 command line client but it does not work properly with blobs.
how to create sql dumps with proper blobs ?
is there any option to sqlite3 .dump command to encode blobs as strings ?
I'd need a scriptable solution in order to integrate it into build scripts.
Cheers
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的数据以某种方式插入,SQLite 认为它是字符串(TEXT)而不是 BLOB,您可以使用临时表并强制类型转换来转换它。假设您有下表:
示例解决方案是:
为我工作...
If your data was inserted in a way, that SQLite thinks it's string (TEXT) instead of BLOB, you can convert it using temporary table and forcing type conversion. Lets say you have the following table:
The example solution is:
Worked for me...
它应该开箱即用。
我这样创建了表:
插入一行:
创建一个转储:
就可以了:
It should work out of the box.
I created the table this way:
Inserted one row:
Created a dump:
And it's OK: