python - 更新现有数据库中的 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?
解决方案
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 也是。
推荐阅读
- windows - 服务即将停止 - 检测原因
- sql - 检查聚合数据中是否存在相关数据
- iphone - 适用于 Iphone 的 MS Teams:缩略图卡内的俄语字符显示不正确
- php - SQL 提取时两个 PHP 的语法错误?
- node.js - Firebase 文档引用未知模块
- python - Python nmap:TypeError:列表索引必须是整数或切片,而不是str
- amazon-web-services - 从现有 VPC 获取可用 CIDR
- android - RecycleView 不滚动
- angular - 如何在离子角度应用程序中将离子存储(本地数据库)与ngrx一起使用
- json - 从 SQflite 结果读取时不尊重新行`\n`