• Home
  • blog
  • photos
  • projects
  • about
Menu
  • Home
  • blog
  • photos
  • projects
  • about
June 2, 2009

Как сбросить Identity в MS Sql

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

Есть несколько вариантов решения этой проблемы.

1. DBCC CHECKIDENT

Это самый простой вариант, просто устанавливаете желаемое значение. Будьте осторожны, не установите значение меньше, чем последнее.

DBCC CHECKIDENT (<table name>,RESEED,<new value>)

2. Удалить и добавить поле

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

ALTER TABLE <table name> DROP CONSTRAINT <constraint name>

ALTER TABLE <table name> DROP COLUMN <column name>

ALTER TABLE <table name> ADD <column name> 
bigint identity (1,1) NOT NULL ALTER TABLE <table name> ADD CONSTRAINT <constraint name>
PRIMARY KEY CLUSTERED(<column name> ASC)WITH (PAD_INDEX = OFF,
SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF)
ON [PRIMARY]

3. Удалить и создать таблицу

Этот вариант устанавливает новое безопасное значение и сохраняет порядок колонок.

Создайте новую временную таблицу с такой же структурой, скопируйте все данные во временную таблицу, удалите старую таблицу и переименуйте временную.

Выбор подходящего варианта остается за вами.

Разработка
/
howto,ms sql,sql
/
June 2, 2009
/
2 Comments
Previous Hello world! Next MikroTik – Что это за зверь такой?

2 Replies to “Как сбросить Identity в MS Sql”

  1. Анонимный says:
    December 24, 2009 at 06:24

    пригодилось первое

    Reply
    1. Анонимный says:
      December 24, 2009 at 06:25

      Первое удобнее всего. Но хотя бы пару раз на тестовой базе попробовать не мешает

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Notepads

  • Админево
  • Разработка
  • Фотография
  • Электроника
  • Разное
Menu
  • Админево
  • Разработка
  • Фотография
  • Электроника
  • Разное

Tags

Tags
antiquities (6) aquarium (1) csharp (1) dos (6) hardware (1) howto (16) linux (1) mikrotik (14) ms sql (2) netflow (1) norton commander (2) powershell (1) router os (14) sql (2) virtualbox (6) windows (2) wsus (2) мудрость (1)

Links

  •   i’m on facebook
  •   my photos on flickr
  •   my code on github
  •   write me email
  •   headhunt me
Menu
  •   i’m on facebook
  •   my photos on flickr
  •   my code on github
  •   write me email
  •   headhunt me
Яндекс.Метрика

Sergey Lagovskiy © 2009-2021 Οδύσσεια 0.6