понедельник, 2 мая 2011 г.

Как обнулить счетчик

     Вот что было найдено по этой теме:

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

1 комментарий: