Подтвердить что ты не робот

SQL Server: как добавить новый столбец идентификатора и заполнить столбец идентификаторами?

У меня есть таблица с огромным количеством данных. Я бы хотел добавить дополнительный столбец id и использовать его в качестве первичного ключа. Каков лучший способ заполнить этот столбец значениями от одного 1 до row count

В настоящее время я использую курсор и обновляю строки один за другим. Требуются часы. Есть ли способ сделать это быстрее?

Спасибо

4b9b3361

Ответ 1

Просто сделайте это так:

ALTER TABLE dbo.YourTable
ADD ID INT IDENTITY(1,1)

и столбец будет создан и автоматически заполнен значениями integer (как указывает Аарон Бертран в своем комментарии - у вас нет никакого контроля над тем, какая строка получает какое значение - SQL Server обрабатывает это самостоятельно и вы не можете влиять на него, но все строки получат действительное значение int - не будет никаких NULL или повторяющихся значений).

Затем установите его как первичный ключ:

ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY(ID)