Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Klucz obcy do klucza innego niż podstawowy

Jeśli naprawdę chcesz utworzyć klucz obcy do klucza innego niż podstawowy, MUSI to być kolumna z unikalnym ograniczeniem.

Z Książek online:

Ograniczenie FOREIGN KEY nie musi być połączone tylko z ograniczeniem PRIMARYKEY w innej tabeli; można go również zdefiniować, aby odwoływać się do kolumn ograniczenia UNIQUE w innej tabeli.

Więc w twoim przypadku, jeśli zrobisz AnotherID wyjątkowy, będzie to dozwolone. Jeśli nie możesz zastosować unikalnego ograniczenia, masz pecha, ale to naprawdę ma sens, jeśli się nad tym zastanowisz.

Chociaż, jak wspomniano, jeśli masz doskonale dobry klucz podstawowy jako klucz kandydujący, dlaczego nie użyć go?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. porównywanie kolumny z listą wartości w t-sql

  2. Sparametryzowane zapytanie oczekuje parametru, którego nie podano

  3. Procedura składowana — zwraca tożsamość jako parametr wyjściowy lub skalar

  4. Zainstaluj Azure Data Studio na Ubuntu 18.04

  5. Zainstaluj SQL Server 2019 na komputerze Mac