简体   繁体   English

更新现有数据库中的 blob 数据

[英]Update blob data in existing database

I want to update a field blob in a existing database but it raises me an error.我想更新现有数据库中的字段 blob,但它会引发错误。

execute("UPDATE table_name SET blob_column={} WHERE var1=1 AND var2=2".format(b"\x01\x02")))

I want to replace the actual data on the blob_column with \x01\x02 instead.我想用 \x01\x02 替换 blob_column 上的实际数据。 This error occurs:发生此错误:

error : near "'\x01\x02'": syntax error (UPDATE table_name SET blob_column=b'\x01\x02' WHERE var1=1 AND var2=2)

Found this topic but don't understand: syntax to UPDATE a BLOB field in an existing SQLite record?找到这个主题但不明白: 语法来更新现有 SQLite 记录中的 BLOB 字段?

The syntax for the blob value should be x'0102' not b'\x01\x02' as per根据 blob 值的语法应该是x'0102'而不是b'\x01\x02' x02'

UPDATE table_name SET blob_column= x'0102' WHERE var1=1 AND var2=2

The value being hexadecimal eg x'aaff' .该值为十六进制,例如x'aaff'

Each pair of characters is a byte so x'0102' is a blob that is two bytes in length.每对字符都是一个字节,因此x'0102'是一个长度为两个字节的 blob。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM