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)
我有两个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)