首页 > 解决方案 > 更新现有数据库中的 blob 数据

问题描述

我想更新现有数据库中的字段 blob,但它会引发错误。

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

我想用 \x01\x02 替换 blob_column 上的实际数据。发生此错误:

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

找到了这个主题但不明白:UPDATE a BLOB field in an existing SQLite record? syntax to UPDATE a BLOB field?

标签: pythonsqliteblob

解决方案


x'0102'blob 值的语法不应该b'\x01\x02'按照

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

该值是十六进制的,例如x'aaff'

每对字符都是一个字节,因此x'0102'长度为两个字节的 blob 也是。


推荐阅读