[英]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.