SQL 两个表之间的约束

SQL constraint between two tables

我有两个table,我们称它们为A和B

在 table B 中,我有一个指向 A 的外键。

B {
    ...
    a_id
    value
    ...
}

我想添加一个限制条件,不允许 B 中的多个条目具有相同的 'a_id' 和 'value'。

我该怎么做?我想这是一件微不足道的事情,如果最终如此,我很抱歉。

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

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

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

您将在 CREATE TABLE 语句中使用:

CONSTRAINT 
    constraint_name 
UNIQUE 
     (a_id, value)

或者,将其添加到您现有的 table:

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