在MySQL blob中插入Python二进制字符串对象。
在MySQL blob中插入Python二进制字符串对象。
我想将包含二进制数据的字符串对象插入到 MySQL blob 列中。然而,我一直得到 MySQL 语法错误。
我编写了一个小脚本进行调试:
import MySQLdb import array import random conn = MySQLdb.connect(host="localhost", user="u", passwd="p", db="cheese") cur = conn.cursor() a = array.array('f') for n in range(1,5): a.append(random.random()) bd = a.tostring() print type(bd) # gives str query = '''INSERT INTO cheese (data) VALUES (%s)''' % bd cur.execute(query)
结果(但并非每次都出现...)
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?fJ<= 9>óìå>)' at line 1")
问题显然在于二进制数据中的某些字符不被 MySQL 接受。有没有一种安全可靠的方法将二进制数据存储到 MySQL 数据库中?
admin 更改状态以发布 2023年5月20日