【SQL】清空表数据后如何让自增 ID 从 1 开始

Posted by 西维蜀黍 on 2019-10-20, Last Modified on 2021-09-21

Problem

MySQL 清空表中数据后,如何让自增 ID 从 1 开始?

Solution

清空表中数据时,使用 truncate 命令,而不用 delete 命令。

mysql> truncate test;

使用 truncate 命令的好处:

  • 速度快:因为 trancate 命令是 DDL 语句,而 delete 语句是 DML 语句,因此 trancate 命令的执行非常快(当然 drawback 就是不能回滚,而 delete 语句可以)。
  • 自增 id 会从 1 开始进算

关于 delete、drop、trancate 三种删除操作语句的区别,可访问【SQL】常用 SQL 语句

Reference