【发布时间】:2011-11-27 23:33:21
【问题描述】:
我有以下查询(user_id 不是也不能是主键,因为每个用户有很多条目取决于表的另一列)。我使用了重复键但不起作用。它仍然添加了一个新行。有什么想法吗?
INSERT INTO profile (user_id, correct) VALUES(". $user_id . ", correct + 1)
ON DUPLICATE KEY UPDATE correct=correct+1
编辑 因此,如果此 user_id 存在行,我想更新此条目并设置正确 = 正确 +1,而不是再次使用 user_id 和正确 = 1 创建新条目
【问题讨论】:
-
你的问题对我来说不太合理。如果
user_id不是唯一的,那么如何知道要更新哪一行?你让它听起来像user_id加上其他一些(未命名的)列应该一起成为主键;但是你有一个 INSERT 语句,它没有为其他列设置值。我认为您可能需要重新检查您的表设计,并确保您有一个合理的主键。
标签: mysql