码迷,mamicode.com
首页 > 数据库 > 详细

mysql5.1中delete和truncate的区别,实例如下

时间:2015-01-15 12:25:20      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

create table test_del(id int auto_increment,name varchar(10),primary key(id));
insert into test_del(name) values(xuhao),(fdsa),(fddsf);
create table test_truc(id int auto_increment,name varchar(10),primary key(id));
insert into test_truc(name) values(xuhao),(fdsa),(fddsf);

 


mysql> select * from test_del; +----+-------+ | id | name | +----+-------+ | 1 | xuhao | | 2 | fdsa | | 3 | fddsf | +----+-------+ 3 rows in set mysql> select * from test_truc; +----+-------+ | id | name | +----+-------+ | 1 | xuhao | | 2 | fdsa | | 3 | fddsf | +----+-------+ 3 rows in set mysql> delete from test_del; Query OK, 3 rows affected mysql> delete from test_truc where true; Query OK, 3 rows affected mysql> insert into test_del(name) values(xuhao),(fdsa),(fddsf); Query OK, 3 rows affected Records: 3 Duplicates: 0 Warnings: 0 mysql> insert into test_truc(name) values(xuhao),(fdsa),(fddsf); Query OK, 3 rows affected Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from test_del; +----+-------+ | id | name | +----+-------+ | 4 | xuhao | | 5 | fdsa | | 6 | fddsf | +----+-------+ 3 rows in set mysql> select * from test_truc; +----+-------+ | id | name | +----+-------+ | 4 | xuhao | | 5 | fdsa | | 6 | fddsf | +----+-------+ 3 rows in set mysql> truncate test_truc; Query OK, 0 rows affected mysql> insert into test_truc(name) values(xuhao),(fdsa),(fddsf); Query OK, 3 rows affected Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from test_truc; +----+-------+ | id | name | +----+-------+ | 1 | xuhao | | 2 | fdsa | | 3 | fddsf | +----+-------+ 3 rows in set

对于表中的自增id,delete和truncate的处理方式是不同,另外据说delete操作会写入日志,truncate不写入日志,言下之意,truncate慎用,不易恢复。

mysql5.1中delete和truncate的区别,实例如下

标签:

原文地址:http://www.cnblogs.com/rabbit168/p/4225905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!