Я создал базу данных на SQL Server с несколькими таблицами. Я провел несколько тестов и теперь готов развернуть мое решение, проблема в том, что в таблицах есть всевозможные данные. Я хочу удалить каждую строку всех таблиц, созданных с помощью моих тестов, и вернуть первичные ключи в ноль. Я попытался удалить, который не индексирует первичные ключи reset, и просто удаляет таблицу.
Данные пустой таблицы и столбцы reset ИДЕНТИФИКАЦИЯ
Ответ 1
Вы можете попробовать TRUNCATE TABLE
, который удаляет все строки и сбрасывает семантику идентификации. Однако вам придется выполнять в определенном порядке, если у вас есть внешние ключи. В этом случае вам сначала нужно удалить из дочерних таблиц, или удалить ограничения и повторно добавить их.
Также обратите внимание, что если вы используете IDENTITY
, вы действительно не должны ожидать, что цифры означают что-либо или будут созданы навсегда без пробелов. Вам не важно, начнется ли оно с 1 по 22 или 65 - можете ли вы объяснить, почему значения идентификаторов должны быть reset?
Ответ 2
От: http://www.howtogeek.com/howto/database/reset-identity-column-value-in-sql-server/
Чтобы установить значение следующего идентификатора равным 1, я могу использовать эту команду:
DBCC CHECKIDENT (orders, RESEED, 0)