Tất nhiên, có thể tạo mối quan hệ khóa ngoài với khóa chính phức hợp (nhiều hơn một cột). Bạn đã không cho chúng tôi xem câu lệnh mà bạn đang sử dụng để cố gắng tạo mối quan hệ đó - nó phải là một cái gì đó như:
ALTER TABLE dbo.Content
ADD CONSTRAINT FK_Content_Libraries
FOREIGN KEY(LibraryID, Application)
REFERENCES dbo.Libraries(ID, Application)
Đó có phải là những gì bạn đang sử dụng ?? If (ID, Application)
thực sự là khóa chính trên dbo.Libraries
, câu lệnh này chắc chắn sẽ hoạt động.
Luk:chỉ để kiểm tra - bạn có thể chạy câu lệnh này trong cơ sở dữ liệu của mình và báo cáo lại kết quả đầu ra là gì không ??
SELECT
tc.TABLE_NAME,
tc.CONSTRAINT_NAME,
ccu.COLUMN_NAME
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu
ON ccu.TABLE_NAME = tc.TABLE_NAME AND ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
WHERE
tc.TABLE_NAME IN ('Libraries', 'Content')