это недействительно, чтобы установить ссылку на ноль или 0? - PullRequest
0 голосов
/ 20 декабря 2009

Теперь я буду делать это в sqlite, поскольку они поддерживают внешние ключи, tsql и, возможно, mysql.

Это незаконно делать что-то вроде

CREATE TABLE comment(
id integer primary key,
parent integer references(comment.id),
author integer references(User.id),
desc varchar(max),
hidden  bit
deleted bit
);

где parent может быть 0 или нулевым, потому что он является корнем и не имеет родителя? AFAIK Я не буду удалять любые комментарии, но установлю его скрытым или как deleted. В основном я хочу знать, могу ли я иметь корень как 0 или ноль, иначе я понятия не имею, как я могу сделать так, чтобы в комментарии была ссылка на родителя (я не могу сделать первую точку для себя?).

1 Ответ

4 голосов
/ 20 декабря 2009

столбец с FOREIGN KEY может иметь значение NULL, но он не может содержать '0', если в родительской таблице нет соответствующей строки с '0' «0» - это значение, тогда как NULL представляет «нет значения».

Таким образом, в этом случае настраиваемые вами корневые узлы структуры списка смежности будут иметь значение NULL для значения «parent».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...