Как создать столбец AutoCounter в таблице в SQL 2008 R2? - PullRequest
4 голосов
/ 17 декабря 2010

В раскрывающемся списке «Тип данных» нет ничего, что указывало бы на автоматический счетчик.
Я выбрал int, и я предполагаю, что где-то еще есть настройка, чтобы превратить его в автосчетчик.
Идея состоит в том, чтобы иметь 100% уникальный идентификатор для моего первичного ключа, и каждый раз, когда добавляется строка, он получает следующий доступный идентификатор, назначенный ему.

http://img64.imageshack.us/img64/2472/primarykey.png

Ответы [ 3 ]

8 голосов
/ 17 декабря 2010

То, что вам нужно, называется IDENTITY в терминологии SQL Server.

Столбец должен иметь числовой тип данных (обычно INT, проверьте диапазон значений в соответствии с вашими потребностями ), прежде чем вы сможете установить для столбца значение IDENTITY - вы можете увидеть список на скриншоте в разделе Table Designer .В каждой таблице может быть только один столбец IDENTITY - это изменится в SQL Server 2011 при запуске поддержки последовательностей.

3 голосов
/ 17 декабря 2010
CREATE TABLE dbo.mytable
     (
    [MY_ID] int identity (1,1) PRIMARY KEY CLUSTERED NOT NULL,
    [LAST_NAME] [nvarchar](50) NULL,
    [FIRST_NAME] [nvarchar](30) NULL
     ) 

Конечно, если это не первичный ключ, вам не нужна кластерная часть первичного ключа.

Часть (1,1) указывает, что нумерация начнется с 1 и будет увеличиваться на 1. Не ожидайте, что у идентификаторов никогда не будет пробелов.Если вставка откатывается или запись удаляется позже, пробелы заполняться не будут. Вы также можете начинать с любого выбранного номера и даже увеличивать другое число, но (1,1) является значением по умолчанию и являетсянаиболее распространенное значение.

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

0 голосов
/ 17 декабря 2010

Отметьте его как первичный ключ и установите для столбца Identity значение yes.Это сделает автоинкремент.

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