2014-09-13 35 views
-1

你好我已经在数据库九张球台在数据库中的表中有两个是:什么是“关系的双方必须具有相同的列数”错误?

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和我收到“双方的关系必须具有相同数量的列”错误

问题是什么?

+3

查询是什么? – dsolimano 2014-09-13 16:21:02

回答

2

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

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

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 
    ); 
相关问题