我有一个带有ON DUPLICATE KEY条件的SQL查询。
INSERT INTO users (username) VALUES (username) ON DUPLICATE KEY update ics = ics +1;
我的表格似乎是
表:用户 FIELD:userID,username,带有userID的ics具有AI。
在我插入用户的地方,AI计数增加,当ON DUPLICATE KEY工作时,AI计数也会增加。
我知道用户存在时,只有ics字段更新。不是AI计数。
出了什么问题。
我的问题是当我有一个重复的密钥时,下一个id更高。
感谢您的帮助。
答案 0 :(得分:0)
假设用户名确实是唯一的,您需要确保列UNIQUE INDEX
上定义了username
。如果没有,你会遇到你遇到的问题。
CREATE UNIQUE INDEX id_index ON users (username);
否则,您INSERT ... UPDATE
可以达到理想的效果。