我有一个带有id(AUTO_INC),user_id,user_interest列的user_interests表。 我想要一个简单的方法来插入数据到user_id和user_interest而没有重复的条目。只有在不重复的情况下才将数据插入两列
E.g.如果我之前有这样的桌子。
+------------------------------+
| ID | user_id | user_interest |
+------------------------------+
| 1 | 2 | Music |
| 2 | 2 | Swimming |
+------------------------------+
如果我现在insert into table (user_id, user_interest) values ((2, Dance),(2, Swimming)
,我只需要插入(2,舞蹈)项 - 不(2,游泳),因为(2,游泳)已经存在于表。
我看过upsert
命令,并且也尝试创建如下的命令,但它不起作用。
INSERT INTO `user_interests`(`user_id`,`interest`)
VALUES ("2","Music")
WHERE (SELECT COUNT(`interest`) FROM `user_interests`
WHERE `interest` = "Music" AND `user_id` = "2"
Having COUNT(`interest`) <=0)
为该表添加一个唯一约束,即'unique(user_id,user_interest)'。 – jarlh
标记您正在使用的dbms。添加更多样本数据 - 并尝试插入数据 - 并向我们展示预期结果! – jarlh