gpt4 book ai didi

Python - MySQL 语法错误

转载 作者:行者123 更新时间:2023-11-28 23:43:11 25 4
gpt4 key购买 nike

我尝试创建一个 python 命令来更新 key 重复的 mysql

sql.run("INSERT INTO snapshots (id,username,data) VALUES ('%s','%s','%s') ON DUPLICATE KEY UPDATE data = VALUES(%s)" % (id,user.name,json.dumps(data),json.dumps(data)))

它在数据插入时有效,但在键重复时,它会抛出这个错误

/usr/local/lib/python2.7/dist-packages/memsql/common/database.py at 166 > (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 \'{"achievements": {"150": 1448983913.491705, "200": 1448984742.809708, "204": 144\' at line 1')

我已经尝试过 KEY UPDATE data = '%s'KEY UPDATE data = VALUES(%s)KEY UPDATE data = VALUES('% s') 但它们都不起作用。

我到底做错了什么?

最佳答案

错误的根本原因是 json 转储的字符串没有转义 " 字符,这是由于直接将数据代入查询造成的。正如@mgilson 所说,使用 cursor.execute() 方法,数据库驱动程序将负责转义。

关于Python - MySQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34025742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com