作者qazsd (nice play!)
看板PHP
标题Re: [请益] 资料库里的资料ID如何重头算起
时间Fri Nov 2 06:10:18 2007
※ 引述《qazsd (nice play!)》之铭言:
: 标题: [请益] 资料库里的资料ID如何重头算起
: 时间: Mon Oct 1 00:05:54 2007
:
: 现在我某个资料库里的第一笔资料其ID是21
:
: 想要将21改成1 也就是变成名副其实(ID=1)的第一笔资料
:
: 要怎麽做呢
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 59.127.20.190
: 推 esyc:每笔资料都-20? UPDATE table SET ID = ID-20; 10/01 00:30
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
上面的推文是可以将资料库里现有的资料每一笔的ID都减少20没错
可是再增加新的一笔资料时,则还是接着旧的ID继续算下去
例如旧的最後一笔的ID是53,执行 "UPDATE information SET s_id = s_id - 20;"
则该笔的ID变成33
但是在新增一笔时,它的ID会是54,也就是53+1
有没有办法让资料库的ID完全重头算起阿?
而不是更改某些资料的ID而已
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.20.190
※ 编辑: qazsd 来自: 59.127.20.190 (11/02 06:11)
1F:推 buganini:请举个完整的案例吧.. 11/02 07:53
2F:→ buganini:不然可以试试DELETE FROM `information`;保证成功Orz 11/02 07:53
3F:→ buganini:"资料库的ID"这个说法实在很笼统 11/02 07:55
4F:推 buganini:看起来你不是用auto increment,那麽新id应该是自己产生的 11/02 08:03
5F:→ buganini:那你应该去改产生新id那里,再者,从头算起,遇到已经存在 11/02 08:04
6F:→ buganini:的ID呢? 跳过? 不管照写? 又或者你想让已经在资料库里的 11/02 08:05
7F:→ buganini:reindex紧密排列? 11/02 08:06
8F:推 allanshen:我比较好奇的是,这个ID不是从头开始,有什麽关系? 11/02 09:23
9F:→ averywu:ALTER TABLE tbl_name AUTO_INCREMENT = xxx 11/02 14:35
※ 编辑: qazsd 来自: 59.127.20.190 (11/04 13:44)
10F:推 qazsd:每一笔资料的ID都是紧接着的 也就是都差1 (即公差=1) 11/04 13:45
11F:→ qazsd:第一笔ID现为21 最後一笔ID现为53 11/04 13:46
12F:→ qazsd:这样一楼看懂了吗?? 11/04 13:46
13F:推 buganini:那新增一笔资料的时候是? 11/06 20:36