我想更新现有数据库中的字段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)
找到了这个主题,但不了解:syntax to UPDATE a BLOB field in an existing SQLite record?
答案 0 :(得分:0)
根据
,blob值的语法应为x'0102'
而不是b'\x01\x02'
UPDATE table_name SET blob_column= x'0102' WHERE var1=1 AND var2=2
值为十六进制,例如x'aaff'
。
每对字符都是一个字节,因此x'0102'
是长度为两个字节的Blob。