mysql 加1_关于mysql自动加1的问题!!

你的位置:

问答吧

-> PHP基础

-> 问题详情

关于mysql自动加1的问题!!

我在mysql里如果把一张表的主关键字设为auto_increment ,那么在添加记录时会自动加1,可是如果删掉一条记录(假设原来有10条记录),然后再添加一条记录的话,主关键字会变为11,而不是10(实际上只有10条记录呀),请问该如何解决这个问题????

作者: zchhhh

发布时间: 2004-05-24

没法解决吧,吼吼。虽然你删了一条,可它还是10,所以再加一条就是11了。主关键字并不记录条数,吼吼。

作者: wild-dog

发布时间: 2004-05-24

那该怎么办呀

作者: zchhhh

发布时间: 2004-05-24

想让它和条数一至该怎么办??

作者: zchhhh

发布时间: 2004-05-24

用文本的方式就可以了

比如说,你原来的"ID"是自动加的,就会出现你说的情况,那么你可以改成不自动加啊?而是用程序算出来再添加到数据库里

不过,以上方法是可以实现你的要求,但有点S

作者: 666home

发布时间: 2004-05-24

可不可以通过修改mysql来设置呀

作者: zchhhh

发布时间: 2004-05-24

你必须按照顺序干什么?

如果要看搜索数量,直接select count(*)就可以了~ 不要钻牛角尖.

作者: kinter

发布时间: 2004-05-24

不是了

想做一个自动生成学号(自动排序)的程序

如果要是删掉一个记录,后面的就连不上了

作者: zchhhh

发布时间: 2004-05-24

删除是正常删除就好了。

添加时 你就把ID按DESC排好

取最高的ID

然后ID+1就是下一个ID了

这不就解决了吗?

作者: flavor

发布时间: 2004-05-24

可是如果要是删除的记录是中间部分的该怎么办呢??

作者: zchhhh

发布时间: 2004-05-24

大家帮忙呀!!

作者: zchhhh

发布时间: 2004-05-24

mysql_query("set @t=0");//不要改

mysql_query("update my_form set fid=@t:=@t+1");//my_form是数据表,fid是自动增加(你要调整)的那个字段名称

之后最好再加一句:mysql_query("OPTIMIZE TABLE my_form");

作者: montluo

发布时间: 2004-05-24

好的,我试试,多谢!!

作者: zchhhh

发布时间: 2004-05-24

那还需要去掉AUTO――INCREASEMENT的选项吗?

作者: zchhhh

发布时间: 2004-05-24

主要是想如果在最前面添加记录,或者是删除最前面的记录以后,顶上去的新的记录还能从1开始计算。

作者: zchhhh

发布时间: 2004-05-24

大家帮忙呀

作者: zchhhh

发布时间: 2004-05-24

顶!!

作者: zchhhh

发布时间: 2004-05-24

命题错误

创建连续号码应该用专门的算法,这是数据完整性方面的问题

楼主的方法看似方便,但有很多问题,比如,你从中间删除一个编号后怎么办?

作者: grow-easy\

发布时间: 2004-05-24

我以前也遇到过这种事,解决方法就是,取消autoincresment,增加一条就+1,减少一条就-1,其它的跟前变动,十分烦琐,并且,如果数据量比较大时,效率低得让人难于接受。

作者: wild-dog

发布时间: 2004-05-24

完全是个算法流程的问题,与auto increasement无关

有无数种方式,看项目的需求来定

作者: s_seraph

发布时间: 2004-05-24

楼主的这个问题可以做个典型:为什么论坛上有很多问题,看起来不难,但是就是没有老鸟来回答。因为这种问题根本就不是技术问题,与PHP或是MYSQL毫无关系,它只是个数据结构与基础算法相结合的流程问题,对于老鸟来说,如果没有一个详细的需求描述,他们无法给出一个合理的答案,还不如不答。而很多新手却会陷入到一个牛角尖里,他们希望能有一个现成的函数或是SQL语法来帮助他们解决问题。而对于老鸟来说,这根本不存在,他们有足够的经验和无数种方式来完成它,因为老鸟们看待问题的出发点不同,层次也不同,问题出现了,首先是要解决它--不管是用多笨的办法,而不是坐在那里发呆,或是立刻飞奔到论坛里发一句话来问。为什么老鸟们会这样,不是他们手里有本关于这类问题的bible,而是他们对于这种问题已经思考过了,而且是在不同的情况之下思考过N次了。。。当我们知道思考的方法及完整的方案思路之后,我们会发现,类似的问题其实是完全大同小异的。

作者: s_seraph

发布时间: 2004-05-24

QUOTE:

最初由 s_seraph 发布

[B]楼主的这个问题可以做个典型:为什么论坛上有很多问题,看起来不难,但是就是没有老鸟来回答。因为这种问题根本就不是技术问题,与PHP或是MYSQL毫无关系,它只是个数据结构与基础算法相结合的流程问题,对于老鸟来说,如果没有一个详细的需求描述,他们无法给出一个合理的答案,还不如不答。而很多新手却会陷入到一个牛角尖里,他们希望能有一个现成的函数或是SQL语法来帮助他们解决问题。而对于老鸟来说,这根本不存在,他们有足够的经验和无数种方式来完成它,因为老鸟们看待问题的出发点不同,层次也不同,问题出现了,首先是要解决它--不管是用多笨的办法,而不是坐在那里发呆,或是立刻飞奔到论坛里发一句话来问。为什么老鸟们会这样,不是他们手里有本关于这类问题的bible,而是他们对于这种问题已经思考过了,而且是在不同的情况之下思考过N次了。。。当我们知道思考的方法及完整的方案思路之后,我们会发现,类似的问题其实是完全大同小异的。 [/B]说的非常不错

作者: sky_travel

发布时间: 2004-05-24

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值