delete与truncate的区别
- 相同点:都能删除数据,都不会删除表结构
- 不同:
- truncate 重新设置 自增列 计数器会归零
- truncate 不会影响事物
-- 测试delete与truncate区别
CREATE TABLE `test`(
`id` INT(4) NOT NULL AUTO_INCREMENT,
`coll` VARCHAR(20)NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
INSERT INTO `test`(`coll`) VALUES('1'),('2'),('3')
DELETE FROM `test` -- 不会影响自增
TRUNCATE TABLE `test` -- 自增会归零
了解即可:delete删除的问题,重启数据库,现象
- innodb 自增列会重1开始(存在内存当中,断电即失)
- myisam 继续从上一个自增量开始(存在文件中,不会丢失)