所以,我一直在尝试创建一个根本不应该变硬的python web应用程序,但我似乎做错了。
**def insert(self, user, points):
self.cur.execute('INSERT INTO points (user, points) VALUES ("' + user + '",' + str(points) + ') ON DUPLICATE KEY UPDATE points=points+' + str(points))
self.db.commit()**
我正在使用的源代码,我试图插入一个用户+他们的"点"在表格中,关于这一切的所有内容似乎完全正常,但它并没有更新,相反,当我调用insert()时,它为一个新用户提供1点。
User Points
[name] 1
[same name] 1
如何让UPDATE正常工作?
答案 0 :(得分:1)
这是您的查询:
INSERT INTO points(user, points)
VALUES ("' + user + '",' + str(points) + ')
ON DUPLICATE KEY UPDATE points=points+' + str(points);
为了使其正常工作,您需要桌面上的唯一键。您希望user
唯一的方法是唯一的,所以:
create unique index idx_points_user on points(user)
points(user, points)
上的索引不会做你想做的事。