Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Khóa ngoại tham chiếu khóa chính 2 cột trong SQL Server

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')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ISO_year trong sql-server là gì

  2. Trình tạo dữ liệu cho máy chủ SQL?

  3. Trả lại hạt giống ban đầu của cột danh tính trong SQL Server

  4. Chèn chuỗi trống vào cột INT cho SQL Server

  5. Chuyển đổi XML thành bảng trong SQL Server 2005