字符串格式化时并非所有参数都已转换
thumbnail
和 image
是二进制大对象(BLOB)字段,num1
和 num2
是整数(Integer)字段,其他的都是字符串(Str)。
我想把二进制数据插入到MYSQL数据库里。但是当执行到这一行时,出现了错误。
cursor.execute("INSERT INTO image(num1, num2, filename, ext, thumbnail, image) VALUES(?, ?, ?, ?, ?, ?);" , (num1, num2, _name, _ext, _thumb, _image))
错误信息:在字符串格式化时,并不是所有的参数都被转换。
怎么解决这个问题呢?请教教我。
1 个回答
5
如果你在使用MySQLdb,可以试试:
cursor.execute("""
INSERT INTO image
(num1, num2, filename, ext, thumbnail, image) VALUES
(%s, %s, %s, %s, %s, %s)""" , (num1, num2, _name, _ext, _thumb, _image))