Удалите, Усеките или Отбрасывание для вычищения таблицы в MySQL

Я пытаюсь вычистить таблицу, но не избавиться от фактической структуры таблицы. Я имею id столбец, который автоувеличивает; я не должен сохранять Идентификационный номер, но мне действительно нужен он для хранения его характеристики автопостепенного увеличения. Я нашел, удаляют и усекают, но я волнуюсь, что один из них полностью отбросит всю таблицу, представляющую будущие бесполезные команды вставки.

Как я удаляю все записи от таблицы так, чтобы я мог вставить новые данные?

19
задан Air 10 November 2014 в 18:48
поделиться

3 ответа

TRUNCATE сбросит ваше автоинкрементное начальное число (по крайней мере, в таблицах InnoDB), хотя вы можете записать его значение перед усечением и повторной установкой соответственно, затем с помощью изменить таблицу :

ALTER TABLE t2 AUTO_INCREMENT = value
14
ответ дан 30 November 2019 в 03:07
поделиться

drop table удалит всю таблицу с данными

delete * from table удалит данные, оставив только значения автоинкремента. это также займет некоторое время, если в таблице много данных.

truncate table удалит данные, сбросит значения автоинкремента (но оставит их как столбцы автоинкремента, так что он просто начнется с 1 и снова поднимется оттуда) и выполняется очень быстро.

22
ответ дан 30 November 2019 в 03:07
поделиться

Таблица усечения - это то, что вы ищете http://www.1keydata.com/sql/sqltruncate.html

2
ответ дан 30 November 2019 в 03:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: