Python - MySQLdb:ValueError - 不支持的格式 - 尽管使用了execute替换

时间:2014-12-16 11:02:41

标签: python mysql string-formatting mysql-python

我正在尝试使用python-mysqldb包在数据库中更新一些BLOB图像,但我总是收到此错误:

ValueError: unsupported format character ',' (0x2c) at index 64

我之前使用执行替换工具成功添加了图像,例如:

设置与db的连接:

db  = MySQLdb.connect( host="127.0.0.1", port=0815, user="javert", passwd="ureyes", db="some_db") 
cur = db.cursor()

读取图像文件:

images = [ open( image_file, 'rb') for image_file in folder ]
image1, ..., image6 = images

插入图片:

command = """INSERT INTO database_table (column1, ..., column6) VALUES (%s,%s,%s,%s,%s,%s)"""
cur.execute( command, args=( image1, ..., image6))
db.commit()

现在我用以下内容替换了insert命令并得到描述的错误:

"""UPDATE database_table SET column1=%s, column2=%s, column3=%s, column4=s%, column5=%s, column6=%s WHERE id=table_row_id"""

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

column4=s%,应该是column4=%s,(注意倒置的,s)。

注意这是错误消息所说的内容(,不是一个合适的“格式字符”):“格式字符”是%之后的内容,{{1} }不是有效的。