约束外行中的值与另一个值匹配?
Constraint that value in foreign row matches another value?
我正在努力完成以下任务:
// table_a
{
"id": "aaa",
"name": "abc"
}
// table_b
{
"id": "bbb",
"firstName": "abc"
}
//table_c
{
"table_a_id": "aaa",
"table_b_id": "bbb"
}
// constraint - table_a name matches table_b firstName
这是外键约束。或者可以使用触发器实现的约束。
作为外键约束,需要将名字存入c
。在伪代码中,这看起来像:
create table a (
id primary key,
name,
unique (name, id)
);
create table b (
id primary key,
firstname,
unique (namename, id)
);
create table c (
table_a_id references a(id),
table_b_id references b(id),
name,
foreign key c_a_name_id (name, id) references (name, id),
foreign key c_b_name_id (name, id) references (firstname, id),
);
名称必须相同,因为名称仅在 c
中存储一次。
我正在努力完成以下任务:
// table_a
{
"id": "aaa",
"name": "abc"
}
// table_b
{
"id": "bbb",
"firstName": "abc"
}
//table_c
{
"table_a_id": "aaa",
"table_b_id": "bbb"
}
// constraint - table_a name matches table_b firstName
这是外键约束。或者可以使用触发器实现的约束。
作为外键约束,需要将名字存入c
。在伪代码中,这看起来像:
create table a (
id primary key,
name,
unique (name, id)
);
create table b (
id primary key,
firstname,
unique (namename, id)
);
create table c (
table_a_id references a(id),
table_b_id references b(id),
name,
foreign key c_a_name_id (name, id) references (name, id),
foreign key c_b_name_id (name, id) references (firstname, id),
);
名称必须相同,因为名称仅在 c
中存储一次。