MySQL:如果匹配两列,则忽略插入

时间:2014-03-25 18:17:41

标签: php mysql sql

我需要PHP / MySQL问题的帮助。我有一个名为users的表和另一个名为relationships的表。

users
--------------
id (PK)
name
email
etc

relashionships
--------------
id (PK)
id_user (FK to users.id)
id_friend (FK to users.id)
rating

我正在尝试INSERT多个关系,但我不想要重复的条目。如果行重复,我想忽略当前行。我无法使用IGNORE语句,因为id_userid_friend列不是唯一的。用户/朋友可能有多个关系行。

任何提示?

2 个答案:

答案 0 :(得分:1)

您可以在id_user / id_friend元组上创建唯一键。它们都不是唯一的,但它们的组合是。

请参阅文档中的multiple column indexes

答案 1 :(得分:0)

谢谢amenadiel,我找到了解决方案here并为我工作了!

CREATE UNIQUE INDEX relation ON relationship (id_user, id_friend)