понедельник, 24 апреля 2023 г.

Как обнулить счетчик в таблице MS SQL

 Даже если вы удалите все поля из таблицы БД, где есть автоинкриментное поле, Вы все равно не добъетесь того чтобы ваш счетчик начал свой отчет с нуля. Как же это сделать?
     Чудная возможность есть у MS SQL сервера - автоинкремировать поле IDENTITY. Но когда вы удаляете все содержимое таблицы, вы надеетесь, что счетчик начнет свой отсчет снова, но это не так. Для того чтобы сбросить его значение вы можете попробовать следующее:

  1. Вы можете снять свойство IDENTITY с поля и поставить его заново, но это не есть правильно.
  2. TRUNCATE TABLE имя_таблицы - удаляет все содержимое таблицы и обнуляет счетчик автоматически. В принципе - то что надо когда вы рушите всю таблицу и хотите чтобы счетчик тоже порушился. Но если в таблице существует FOREIGN KEY вам придется прибегнуть к третьему способу.
  3. DBCC CHECKIDENT ('имя_таблицы', RESEED, новое_стартовое_значение) - сбрасывает значение счетчика в указанное значение. Способ подходит когда вы выкидываете часть таблицы и хотите чтобы поле счетчика не имело провалов.

Комментариев нет:

1C - OLMAZ - XALQ CITY

 Ошибка при копирование документа: Общий модуль : ОбщегоНазначения Процедура ПриКопированииДокументаСВозможностьюРучногоРедактированияПриКоп...