Mysql 国外关键问题
我正在尝试创建一个表,但遇到了一些问题 我有两个表,分别是Mysql 国外关键问题,mysql,foreign-keys,Mysql,Foreign Keys,我正在尝试创建一个表,但遇到了一些问题 我有两个表,分别是Pay和Owed 因此,我有一个带有以下主键的表Pay CONSTRAINT pk_columns PRIMARY KEY (nameofClient, amounttoPay); 并使用外键创建表: CONSTRAINT en_submission2 FOREIGN KEY (nameofClient, amounttoPay) REFERENCES Pay (nameofClient, amounttoPay); 所以本质上我想问
Pay
和Owed
因此,我有一个带有以下主键的表Pay
CONSTRAINT pk_columns PRIMARY KEY (nameofClient, amounttoPay);
并使用外键创建表:
CONSTRAINT en_submission2 FOREIGN KEY (nameofClient, amounttoPay) REFERENCES Pay (nameofClient, amounttoPay);
所以本质上我想问的是如何从主键为复合键的另一个表向表中添加外键?我的语法错了吗?我需要改变什么
谢谢首先,我建议进行一些模式更改,将客户机拉入自己的表中,并使用密钥的id字段(客户机欠下的金额真的是唯一的吗?)。所以你会有这样的想法: 客户 -Id(整数,非空,主键) -名字 支付 -Id(整数,非空,主键) -ClientId(fk到Client.Id) -金额支付 欠 -Id(整数,非空,主键) -PayId(fk到Pay.Id)
-AmountToPay什么不起作用?您是否收到任何错误消息?欢迎来到stackoverflow:是的,我收到一条错误消息。它表示无法在子行中添加或更新子行。谢谢,您可以使用复合PKs和FKs。@Ester:总是喜欢复制粘贴真正的错误消息,而不是您自己的解释