Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Външен ключ към непървичен ключ

Ако наистина искате да създадете външен ключ към непървичен ключ, той ТРЯБВА да бъде колона, която има уникално ограничение за него.

От Книги онлайн:

Ограничение FOREIGN KEY не трябва да бъде свързано само с ограничение PRIMARYKEY в друга таблица; може също да се дефинира да препраща към колоните на ограничение UNIQUE в друга таблица.

Така че във вашия случай, ако направите AnotherID уникално, ще бъде разрешено. Ако не можете да приложите уникално ограничение, нямате късмет, но това наистина има смисъл, ако се замислите.

Въпреки че, както беше споменато, ако имате идеално добър първичен ключ като кандидат ключ, защо да не го използвате?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ефект на подсказката NOLOCK в операторите SELECT

  2. CONVERT() в SQL Server

  3. Регистрирайте промените на записите в SQL сървъра в таблица за одит

  4. Защо имената на таблици в SQL Server започват с dbo?

  5. Вътрешни елементи за репликация на транзакции на SQL сървър – част 2