什么是"both sides of a relationship must have the same number of column"错误?



你好,我在数据库中有九个表。数据库中的两个表是:

tbl_unit
--------
Unit_Number(pk),
Floor_Number(pk),
Apartment_plaque(pk),
BedRoom_Count,
BathRoom_Count,
Rental_Fees_Unit,
Unit_Area,
Unit_state

tbl_payment
-----------
Renter_National_Code(pk),
Apartment_Plaque(pk), 
Floor_Number(pk),
Unit_Number(pk), 
Owner_National_Code,
Payment_Date,
Debt,
Other_Amounts,
Other_amounts_comment,
amount_of_payment

我无法确定tbl_payment中的主键是否为tbl_unit中的主键的外键,并且我收到"关系的双方必须具有相同的列数"错误

怎么了?

一个表只能有一个主键。tbl_payment表有一个由4列组成的复合主键,而tbl_unit表则有一个包含3列的复合主键。

我相信你想要tbl_payment表上的外键来将付款与特定单位联系起来。在这种情况下,在tbl_payment上添加一个3列外键,引用tbl_units的主键:

ALTER TABLE dbo.tbl_payment
ADD CONSTRAINT fk_tbl_payment_tbl_unit
FOREIGN KEY (
      Unit_Number
    , Floor_Number
    , Apartment_plaque
    )
REFERENCES dbo.tbl_unit(
      Unit_Number
    , Floor_Number
    , Apartment_plaque
    );

相关内容

最新更新