Как сказал Эйнав, этот вопрос следует рассматривать с осторожностью!
Если ваша таблица учеников пуста, и вы пытаетесь сбросить счетчики из-за тестирования или из-за ежегодного уничтожения базы данных и т. Д., То вы можете использовать команду DBCC CHECKIDENT (если вы используете MS SQL Server) или вы можете использовать таблицу alter (auto_increment) для MySql http://dev.mysql.com/doc/refman/5.0/en/alter-table.html.
Но будьте осторожны, так как любые зависимости от внешнего ключа также должны быть сброшены - вы можете столкнуться со всеми неприятностями.
Вот быстрый тест сценарий:
--Test variables & environment
DECLARE @TimeParam AS DATETIME
CREATE TABLE #Downtime (ID int identity, initial varchar(1))
INSERT INTO #Downtime VALUES('a')
INSERT INTO #Downtime VALUES('b')
INSERT INTO #Downtime VALUES('c')
INSERT INTO #Downtime VALUES('d')
INSERT INTO #Downtime VALUES('e')
INSERT INTO #Downtime VALUES('f')
INSERT INTO #Downtime VALUES('g')
INSERT INTO #Downtime VALUES('h')
INSERT INTO #Downtime VALUES('i')
INSERT INTO #Downtime VALUES('j')
--Queries
DBCC CHECKIDENT (#Downtime)
SELECT ID, initial FROM #Downtime
DELETE FROM #Downtime
DBCC CHECKIDENT (#Downtime, RESEED, 0)
INSERT INTO #Downtime VALUES('k')
SELECT ID, initial FROM #Downtime
DROP TABLE #Downtime
--results (first select)
ID initial
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i
10 j
--results (second select)
ID initial
2 j
В вашем случае вы будете использовать: DBCC CHECKIDENT ('Студент', переустановку, 0);
Снова выполните эту команду с осторожностью и проверьте все ссылки на этот первичный ключ ПЕРЕД началом выполнения команды. Убедитесь, что вы также сделали резервные копии базы данных!
Вы что-то пробовали? Почему вы пытаетесь это сделать? Я думаю, что все таблицы пустые, потому что, если уже есть какое-то значение, в первом вставке уже есть первичный ключ со значением 1, поэтому вы не можете повторить это значение. – Yaroslav
- стол студента пуст? – sumit