我有一个sql查询,其中包含ON DUPLICATE条件。
INSERT INTO users (username) VALUES (username) ON DUPLICATE KEY update ics = ics +1;我的桌子看起来像
表:用户字段: userID、用户名、带有userID的ics具有AI。
在我插入用户的地方,AI计数增加,当ON DUPLICATE键工作时,AI计数也增加。
我希望当用户存在时,只有ics字段更新。而不是AI计数。
出什么问题了。
我的问题是当我有一个重复的键时,下一个id会更高。
谢谢你的帮助。
发布于 2015-08-04 01:01:36
假设用户名确实是惟一的,您需要确保在列username上定义了一个UNIQUE INDEX。如果不是,你就会遇到你遇到的问题。
CREATE UNIQUE INDEX id_index ON users (username);否则,您的INSERT ... UPDATE可以很好地实现您想要的结果。
https://stackoverflow.com/questions/31792813
复制相似问题