如何为组合主键创建外部引用键

时间:2017-07-29 18:15:05

标签: mysql foreign-keys

假设我们有以下两个表

Create table Bank (
   Bank_ID Numeric Not Null,
   Bank_Card Numeric Not Null,
   Primary Key(Bank_ID, Bank_Card)
)

Create table Customer (
   Customer_ID Numeric Not Null,
   Name varchar(30) Not Null,
   Primary key(Customer_ID)
)

通过连接Bank_ID和Bank_Card生成Customer_ID。如何设置外键Customer_ID以引用Bank_ID和Bank_Card

1 个答案:

答案 0 :(得分:0)

你想要的是一个约束,但它不是一个FK(外键)约束。(一个FK约束表示列列表的值在别处显示为PK / UNIQUE。)为了声明性地执行它你可以将冗余生成(计算/计算)列Customer_ID添加到Bank,并将{FK}添加到Customer。要在不添加冗余列的情况下强制执行,您需要触发器。但是smart keys are a bad idea.