mysql - 删除、截断或删除以清除 MySQL 中的表

标签 mysql sql-delete sql-drop

我试图清理一个表,但没有删除表的实际结构。我有一个自动递增的 id 列;我不需要保留 ID 号,但我确实需要它来保持它的自动递增特性。我找到了 delete 和 truncate,但我担心其中一个会完全删除整个表,从而导致 future 的插入命令无用。

如何从表中删除所有记录以便插入新数据?

最佳答案

drop table 将删除包含数据的整个表格

delete * from table 将删除数据,只保留自动增量值。如果表中有很多数据,也需要一段时间。

truncate table 将删除数据,重置自动增量值(但将它们保留为自动增量列,因此它将从 1 开始并再次从那里上升),并且非常快。

关于mysql - 删除、截断或删除以清除 MySQL 中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601576/

相关文章:

php - 加密mysql数据库中的可搜索字段

sql - 如何在 WHERE 子句中编写带有 SELECT 语句的 SQL DELETE 语句?

mysql - DROP USER 和从 mysql.user 表中删除一行的区别

mysql - 由于非法字符而无法删除数据库

MySQL5 - 检查模式中每列的大小

mysql服务问题

MySQL Before Delete 触发器以避免删除多行

php - 警告为foreach()提供了无效的参数

mysql - 在 mysql 中重命名具有外键约束的列 - 无论如何都可以使其更容易?

php - 数据表+服务器端处理=无法在多列中搜索