Проверьте ссылки на ограничения на уникальный столбец в той же таблице - PullRequest
0 голосов
/ 15 января 2019

У меня есть таблица:

ID     Name       ParentID
==     ====       ========
1       A          Null
2       B           1
3       C           2

поэтому A является родителем B, а B является родителем C.

Мне нужно создать ограничение для столбца (ParentID), который не принимает число, которого нет в столбце (ID). Как бы я это сделал?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Вы также можете создать внешний ключ, используя дизайн SSMS, как показано ниже. Разверните таблицу и щелкните правой кнопкой мыши на Ключи - Новый внешний ключ

enter image description here

Теперь нажмите на кнопку обзора взаимосвязи и укажите столбец таблицы первичного и внешнего ключей, как показано ниже.

enter image description here

Это один из способов, и вы можете выбрать предпочтительный способ, используя запрос или конструкцию для создания отношений внешнего ключа между таблицами в Sql Server.

0 голосов
/ 15 января 2019

Вам необходимо добавить внешний ключ.

ALTER TABLE table1 
  ADD CONSTRAINT fk_parent_id 
  FOREIGN KEY (parent_id) REFERENCES table1(id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...