Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Как обнулить значение AUTO_INCREMENT?

#php #kohana #mysql


Нагуглил, что для обнуления AUTO_INCREMENT нужен следующий запрос:
ALTER TABLE <имя таблицы> AUTO_INCREMENT=0

Как этот запрос написать в Kohana при помощи модуля ORM?    


Ответы

Ответ 1



Помог обычный mysql mysql_connect('localhost', 'root', '1234'); mysql_select_db('al_categories'); $query = 'ALTER TABLE al_categories AUTO_INCREMENT=4'; mysql_query($query); mysql_close();

Ответ 2



А вообще, как-то так не пойдёт? DB::query(null, 'ALTER TABLE <имя таблицы> AUTO_INCREMENT=0');

Ответ 3



У меня ни один из этих способов не работает. Даже Truncate не обнуляет счетчик. Нашел выход: Заходим непосредственно в phpMyAdmin, заходим в таблицу. Там в меню заходим в операции и там во втором столбце(Table options(место, где меняет название таблицы, кодировку и тд.)) Auto_increment меняем на 1 в ручную. И все шикарно наботает. Версия phpMyAdmin 4.6.3.

Ответ 4



Если у вас есть данные в таблице, то вы не можете сбросить AUTO_INCREMENT. Потому что могут быть коллизии, полностью одинаковые строки. Вы можете удалить столбец с AI, а потом создать заново. Если же таблица пуста, и первый элемент идет не с единицы, а с другого, то самый просто способ это использовать Workbench

Ответ 5



TRUNCATE Очищает таблицу, но так же сбрасывает счётчик.

Комментариев нет:

Отправить комментарий