Сброс автоинкрементного столбца - PullRequest
5 голосов
/ 27 февраля 2009

Я недавно добавил Предметы к идентификатору, и таблица была испорчена в процессе передачи, поэтому я удалил Предметы из таблицы. После повторного ввода данных вместо идентификатора, начинающегося с единицы, теперь он начинается с 332. Я хотел бы, чтобы таблица начиналась с единицы вместо 332. Я удалил данные из данных, чтобы они были понятны. Как мне сбросить идентификатор на один. Спасибо и извините, если это где-то здесь, я не знал, как искать это.

Ответы [ 6 ]

11 голосов
/ 27 февраля 2009

В SQL Server:

DBCC CHECKIDENT (myTable, RESEED, 0)
6 голосов
/ 27 февраля 2009

truncate table yourtable - повторно посеет

5 голосов
/ 27 февраля 2009

Предполагая MSSQL:

DBCC CHECKIDENT('MyTable', RESEED, 0) -- One less than next ID to allocate

Если вы хотите удалить данные, вы можете использовать

TRUNCATE TABLE MyTable

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

0 голосов
/ 27 февраля 2009

вам нужно усечь таблицу

но для этого он должен быть пустым, и к нему не должно быть никаких внешних ключей

0 голосов
/ 27 февраля 2009

Если вы используете MS Access, удалите и заново создайте таблицу

0 голосов
/ 27 февраля 2009

Установить начальное значение идентичности на 1

DBCC CHECKIDENT (tableName, RESEED, 1)
...