0
点赞
收藏
分享

微信扫一扫

mysql 清空表数据 , ?delete from 表名 和 truncate table 表名; 重置auto_increment值


  delete?from?表名;

  truncate?table?表名;

  两种方式的区别:

  1、truncate 是整体删除,delete是逐条删除,所以在删除整个表数据时,truncate比delete快得多

  2、truncate不写进服务器的log, delete会写进服务器的log

  3、truncate删除之后,标识列,自增字段,索引重新归1,而delete删除之后,再次添加数据, 会重新会从删掉的索引之后自增。

  4、delete更加灵活,可以选择性删除表中数据,delete from '表名' where xxx

  5、delete 方式在不带条件的情况下会清空整个表数据,但是自增ID不会还原,而是从删除前最后的ID继续自增。

  6、truncate 方式则会将自增ID一同还原为初始值。

  MYSQL数据库自动增长的ID如何恢复

  清空表的时候。不能用

  delete from tablename;

  而是要用:?

  truncate table tablename;?

  这样auto_increment?

  就恢复成1了?

  或者

  delete from tablename; 清空内容后直接用ALTER命令修改表:?

  delete?from?tablename;

  alter?table?tablename?auto_increment=1;

举报

相关推荐

0 条评论