【发布时间】:2020-05-25 10:33:31
【问题描述】:
例如,我正在创建两个表,如下所示:
create table A (
department_id int,
college_id int,
constraint Pk_name primary key(department_id,college_id)
);
create table B (
student_name varchar(75),
department_id int,
college_id int,
foreign key(department_id,college_id) references A(Pk_name)
);
我可以这样写吗?
【问题讨论】:
-
我正在使用 Mysql Workbench 8。我试过这个,但它给出了错误。错误是:“添加外键失败。缺少约束列'Pk_name'。”
-
据我所知,没有数据库支持这样的扩展。
-
我不知道有任何数据库支持它。虽然这看起来不是一个坏主意,但当数据库增长并最终拥有许多表时,它可能会令人困惑。此外,几乎没有人说出 PK 约束。有时 UNIQUE 约束比 PK 约束具有更多可见的名称。此外,引擎将如何区分列和约束名称?可能语法最终会比您在此处显示的更冗长。