两个表之间的SQL约束

时间:2015-10-16 13:49:44

标签: mysql sql constraints

我有两张桌子,我们称之为A和B

在表B中,我有一个A的外键。

B {
    ...
    a_id
    value
    ...
}

我想添加一个约束,以便B中的多个条目不允许具有相同的'a_id'和'value'。

我该怎么做?我认为这是微不足道的,如果它结束的话,我很抱歉。

2 个答案:

答案 0 :(得分:3)

这只是B上的唯一约束或索引:

create unique index unq_b_aid_value on b(a_id, value);

您还希望外键约束从b(a_id)a(a_id)

答案 1 :(得分:1)

您可以在CREATE TABLE声明中使用:

CONSTRAINT 
    constraint_name 
UNIQUE 
     (a_id, value)

或者,将其添加到现有表中:

ALTER TABLE 
    table_name
ADD CONSTRAINT 
     constraint_name 
UNIQUE 
    (a_id, value)