Идентификаторы базы данных SQL Server всегда положительны? - PullRequest
7 голосов
/ 12 февраля 2010

Всегда ли идентификаторы базы данных SQL Server положительны?

Как в dbid из базы данных sysd.

SELECT name, dbid 
  FROM master.dbo.sysdatabases

Этот вопрос не имеет ничего общего со столбцами идентификации или первичными ключами.

Ответы [ 4 ]

5 голосов
/ 12 февраля 2010

Отредактировано, поскольку вы изменили вопрос.

В этом запросе: SELECT name, dbid from master.dbo.sysdatabases Значение dbid ВСЕГДА будет положительным, поскольку оно определено как 1,1 идентификатора.

3 голосов
/ 12 февраля 2010

Существует некоторое программное обеспечение (Microsoft Dynamics), которое не позволяет использовать отрицательные ключи в целочисленных полях, длина которых превышает 2 байта. Кроме того, я не вижу причин ограничивать столбец идентификаторов положительными числами, когда столбец не используется в качестве внешнего идентификатора. то есть идентификатор клиента

3 голосов
/ 12 февраля 2010

Они не должны быть, но общая практика - делать их. Вы можете легко создать первичный ключ, который является идентификатором с отрицательным приращением идентификатора. Вы также не сделаете это тождеством и не придадите ему отрицательное значение.

0 голосов
/ 12 февраля 2010

Они не обязательно должны быть, но обычно это так.

Возможно, вам будет интересно прочитать это обсуждение в MSDN: Преимущество / недостатки отрицательных значений идентичности

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