字符串格式化时并非所有参数都已转换

4 投票
1 回答
6448 浏览
提问于 2025-04-16 13:03

thumbnailimage 是二进制大对象(BLOB)字段,num1num2 是整数(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))

撰写回答