Sql 仅当不重复时才将数据插入两列

Sql 仅当不重复时才将数据插入两列,sql,insert,duplicates,Sql,Insert,Duplicates,我有一个表user\u interests和idAUTO\u INC,user\u id,user\u interests列。 我想要一种简单的方法将数据插入到用户id和用户兴趣中,而无需重复输入 如果我以前有这样的桌子 +------------------------------+ | ID | user_id | user_interest | +------------------------------+ | 1 | 2 | Music | | 2 |

我有一个表user\u interests和idAUTO\u INC,user\u id,user\u interests列。 我想要一种简单的方法将数据插入到用户id和用户兴趣中,而无需重复输入

如果我以前有这样的桌子

+------------------------------+
| ID | user_id | user_interest |
+------------------------------+
| 1  | 2       | Music         |
| 2  | 2       | Swimming      |
+------------------------------+
如果我现在在表中插入user_id,user_interest值2,Dance,2,swiming,我只需要插入2,Dance条目,而不是2,swiming,因为2,swiming已经存在于表中

我见过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 )

使用不存在的方法:

INSERT INTO your_table (user_id ,user_interest )
SELECT @userId , @UserIntreset 
WHERE NOT EXISTS(SELECT 1 FROM your_table user_id = @userid AND user_interest 
= @userinterest )
或在表中创建唯一约束

 ALTER TABLE your_table 
 ADD CONSTRAINT Constraint_Name UNIQUE (Column_Name1,Column_Name2)

修改表定义,即您可以将唯一约束添加到用户id |用户兴趣

将唯一约束添加到表中,即唯一用户id、用户兴趣。标记您正在使用的dbms。添加更多的示例数据-并尝试插入数据-并向我们展示预期结果!