0
SQL71516 ::被引用表'[dbo]。[MSTransaction]'不包含與外鍵中的引用列表匹配的主鍵或候選鍵。如果被引用的列是一個計算列,它應該被保留。不包含與引用匹配的主鍵或候選鍵
這是我收到的錯誤。任何解決方案下面是兩個表的SQL代碼:
CREATE TABLE [dbo].[MSOrderline]
(
[PurchaseID] NCHAR (200) NOT NULL,
[ProductID] NCHAR (200) NOT NULL,
[Quantity] INT NULL,
CONSTRAINT [DoubleMS_PK]
PRIMARY KEY CLUSTERED ([PurchaseID] ASC, [ProductID] ASC),
FOREIGN KEY ([PurchaseID]) REFERENCES [dbo].[MSTransaction] ([PurchaseID]),
FOREIGN KEY ([ProductID]) REFERENCES [dbo].[MSProducts] ([ProductID])
);
CREATE TABLE [dbo].[MSTransaction]
(
[TransactionID] NCHAR (200) NOT NULL,
[EmployeeID] NCHAR (200) NULL,
[CustomerID] NCHAR (200) NULL,
[PurchaseID] NCHAR (200) NOT NULL,
[Amount] INT NULL,
[TotalAmount] INT NULL,
[TimeOfSale] NCHAR (200) NULL,
[DiscountID] NCHAR (200) NULL,
PRIMARY KEY CLUSTERED ([TransactionID] ASC),
FOREIGN KEY ([DiscountID]) REFERENCES [dbo].[MSDiscount] ([DiscountID]),
FOREIGN KEY ([EmployeeID]) REFERENCES [dbo].[MSEmployee] ([EmployeeID]),
FOREIGN KEY ([CustomerID]) REFERENCES [dbo].[MSCustomer] ([CustomerID])
);
我知道這已經被問過,但既沒有在我的情況下工作或我不能就工作到了我的情況。
長字符字段是主鍵這樣一個壞主意。 –