Подтвердить что ты не робот

Как сбросить первичный ключ таблицы?

В моей таблице tbphotos меня было 100 записей. Затем я удалил все записи, и теперь, когда я хочу перезапустить ввод данных, я вижу, что мой первичный ключ начинается не с 1, а с 101,

Есть ли способ сбросить первичный ключ?

Я использую учетную запись администратора MySQL.

4b9b3361

Ответ 1

alter table foo AUTO_INCREMENT = 1

Ответ 2

Вы можете reset автоинкремент следующим образом:

ALTER TABLE tablename AUTO_INCREMENT = 1

Но если вы полагаетесь на значения автоинкремента, ваша программа очень хрупок. Если вам нужно назначить последовательные номера для ваших записей для работы вашей программы, вы должны создать для этого отдельный столбец, а для этого не использовать идентификатор автоматического инкремента базы данных.

Ответ 3

Если вы используете TRUNC вместо ручного удаления записей, ваш первичный ключ будет reset.

Ответ 4

Код ниже лучше всего, если у вас уже есть данные в базе данных, но вы хотите reset идентификатор от 1 без удаления данных. Копирование и запуск в команде SQL

ALTER TABLE members DROP ID;
ALTER TABLE members AUTO_INCREMENT = 1;
ALTER TABLE members ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Ответ 5

DBCC CHECKIDENT (yourTable, RESEED, 0);

Это сработало для меня:)

Ответ 6

Это лучший скрипт для автоматического приращения сброса:

ALTER TABLE foo MODIFY your column increment int (11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;