一个表只能有一个主键。tbl_payment表有一个由4列组成的复合主键,而tbl_unit表则有一个包含3列的复合主键。
你好,我在数据库中有九个表。数据库中的两个表是:
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表上的外键来将付款与特定单位联系起来。在这种情况下,在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
);