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

Thay đổi bảng &Thêm khóa UNIQUE dẫn đến lỗi

Xem tài liệu để biết cách thêm ràng buộc bảng.

ALTER TABLE Animal ADD CONSTRAINT UQ_Animal_AnimalTypeId UNIQUE (AnimalType_id)

Có vẻ như AnimalType_id là một khóa ngoại vì vậy tôi chỉ muốn kiểm tra rằng bạn có hiểu rằng bằng cách đặt cột này là duy nhất, bạn đang tạo mối quan hệ một - một - bạn sẽ chỉ có thể có một con vật cho mỗi loại.

Vì bạn gặp lỗi khi thêm ràng buộc duy nhất, tôi khuyên bạn nên thực sự muốn một khóa ngoại thay vì một ràng buộc duy nhất:

ALTER TABLE Animal
    ADD CONSTRAINT FK_Animal_AnimalType
    FOREIGN KEY
    (
        AnimalType_id
    )
    REFERENCES AnimalType
    (
        id
    )

Tôi đã phải đoán tên bảng AnimalType và đó là tên cột khóa chính - vui lòng thay đổi các tên này nếu chúng không chính xác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cụm chuyển đổi dự phòng SQL Server - xác định nút hoạt động

  2. Gợi ý khóa bảng mặc định trên SQL Server 2005/2008

  3. Cách hiển thị đối chiếu của cơ sở dữ liệu trong SQL Server (T-SQL)

  4. TSQL - Một liên kết sử dụng CONTAINS toàn văn

  5. Hàm ROUND () của SQL Server:Điều gì cần làm và Tại sao bạn nên quan tâm?