我有一张多对多的table UserId
以及 TaskId
当我向表中添加数据时,我可以多次添加相同的userid和taskid。
我使用以下查询添加数据:
Create table if not exists user_task(UserId INT, FOREIGN KEY (UserId)
REFERENCES USERS(id), TaskId INT, FOREIGN KEY (TaskId) REFERENCES TASKS(id));
如何防止在表中添加重复项?
+-----------------+
| UserId | TaskId |
+-----------------+
| 1 | 1 |
| 2 | 1 |
| 1 | 1 |
+---------+-------+
我知道我可以 DISTINCT
在 SELECT
查询以获取没有重复项的数据,但不阻止将其添加到表中。
1条答案
按热度按时间3duebb1j1#
你可以用
Unique Index Constraint
基本上,它将检查重复项(在一列或一组列上),并在约束中断时停止插入/更新操作。如果你对如何处理这个问题感兴趣,请查看手册