我有一個帶有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