免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8427 | 回复: 16
打印 上一主题 下一主题

清空表后ID不从1开始 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-16 16:22 |只看该作者 |正序浏览
我的表设置的id为 auto_increment ,我用truncate table 清空表后,再插入一条数据,id还是从上次的id递增。而不是从1。请高人解惑!

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
17 [报告]
发表于 2009-07-17 15:05 |只看该作者
原帖由 badb0y 于 2009-7-17 12:00 发表
truncate table后,应该是从1开始呀,



我演示的例子就是说明这点

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
16 [报告]
发表于 2009-07-17 15:04 |只看该作者
原帖由 好看的附件 于 2009-7-17 09:31 发表
在创建表的时候设置auto_increment的值有关系?



我上面的例子中没有指定呀

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之上海
日期:2016-05-05 09:45:14
15 [报告]
发表于 2009-07-17 12:00 |只看该作者
truncate table后,应该是从1开始呀,

论坛徽章:
0
14 [报告]
发表于 2009-07-17 09:57 |只看该作者
我的表为 ENGINE=InnoDB DEFAULT CHARSET=gbk

论坛徽章:
0
13 [报告]
发表于 2009-07-17 09:31 |只看该作者

回复 #12 ruochen 的帖子

在创建表的时候设置auto_increment的值有关系?

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
12 [报告]
发表于 2009-07-16 18:40 |只看该作者
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45    |
+-----------+
1 row in set (0.00 sec)

mysql> show create table test_inc;
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                       |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_inc | CREATE TABLE `test_inc` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(20) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from test_inc;
+----+-------+
| id | name  |
+----+-------+
|  1 | test4 |
+----+-------+
1 row in set (0.00 sec)

mysql> insert into test_inc(name) value('test5');
Query OK, 1 row affected (0.00 sec)

mysql> show create table test_inc;
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                       |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_inc | CREATE TABLE `test_inc` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(20) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
11 [报告]
发表于 2009-07-16 18:38 |只看该作者
原帖由 好看的附件 于 2009-7-16 17:51 发表
真的很奇怪啊!我就直接在命令行就这样,不过我alter table tbl_name auto_increment=1;就行了。是不是在创建表的时候auto_increment 要给初始值?



-bash-3.1# mysql -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> drop test_inc;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test_inc' at line 1
mysql> drop table test_inc;
Query OK, 0 rows affected (0.00 sec)

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| userinfo       |
+----------------+
1 row in set (0.00 sec)

mysql> create table test_inc (id int auto_increment primary key, name varchar(20));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test_inc(name) value('test1');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test_inc(name) value('test2');
Query OK, 1 row affected (0.01 sec)

mysql> insert into test_inc(name) value('test3');
Query OK, 1 row affected (0.00 sec)

mysql> select * from test_inc;
+----+-------+
| id | name  |
+----+-------+
|  1 | test1 |
|  2 | test2 |
|  3 | test3 |
+----+-------+
3 rows in set (0.00 sec)

mysql> truncate table test_inc;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test_inc(name) value('test4');
Query OK, 1 row affected (0.00 sec)

mysql> select * from test_inc;
+----+-------+
| id | name  |
+----+-------+
|  1 | test4 |
+----+-------+
1 row in set (0.00 sec)

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.45    |
+-----------+
1 row in set (0.00 sec)

mysql>

论坛徽章:
0
10 [报告]
发表于 2009-07-16 17:58 |只看该作者
4.1.22

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
9 [报告]
发表于 2009-07-16 17:56 |只看该作者
原帖由 乱.码 于 2009-7-16 17:44 发表

会有这种事情?
刚没注意你是truncate表,truncate 表后是应该从1开始的呀。



LZ是用的什么版本?
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP