У меня есть таблица, в которой в качестве первичного ключа используется автоматически увеличивающийся id
.
В таблице есть записи с идентификатором, начинающимся с 1:
id field1
== ======
1 foo1
2 foo2
3 foo3
Есть ли способ обновить id
для всех существующих записей , чтобы auto_increment начинался с другого номера ?:
id field1
==== ======
1000 foo1
1001 foo2
1002 foo3
(Заказ не обязательно соблюдать, если это невозможно)
2 ответа
Вы можете использовать update
для изменения значений и alter table
для обновления автоматического приращения до нового значения:
alter table t set auto_increment = 1003; -- the next value
update t
set id = id + 999;
В Sql Server это работает, MySql я не уверен
DECLARE @NewRowId int = 998;
DBCC CHECKIDENT('MyTableName', RESEED, @NewRowId)
Похожие вопросы
Новые вопросы
mysql
MySQL - это бесплатная система управления реляционными базами данных с открытым исходным кодом (RDBMS), использующая язык структурированных запросов (SQL). НЕ ИСПОЛЬЗУЙТЕ этот тег для других БД, таких как SQL Server, SQLite и т. Д. Это разные БД, которые все используют свои собственные диалекты SQL для управления данными.