mysql中的auto_increment属性的ID,当删除一行数据后,怎么重新排序。考虑到后期的数据量可能有点大,希望哪位大哥帮帮忙,指教下小弟

解决方案 »

  1.   

    set @num = 0;
    seelct @num := @num + 1 ,* from tb;
      

  2.   

    什么叫重新排序? 直接ORDER BY ID不就行了?问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
        
      

  3.   

    guxingyue1201 (guxingyue1201)
      '截至2011-04-23 13:20:49  用户结帖率0.00%  当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖
      

  4.   

    备份数据(除了自增字段)->TRUNCATE tt;->插入记录 
      

  5.   

    重新排序是因为id值不连续了,删除的行有可能是原来数据中的某一个中间行。
    备份数据(除了自增字段)->TRUNCATE tt;->插入记录 
    你的方法估计也不行,我做的是计费系统,后期数据量肯定很大,数据表不敢随便删掉
      

  6.   

    那就只有用变量累计法了
    set @num = 0;
    seelct @num := @num + 1 ,* from tt;
      

  7.   

    这个语句在mysql的后台(本人是在虚拟机下用命令创建的表)怎么使用啊,另外本人感觉这种方法跟auto_increment无本质上的区别,这个变量不会计算记录的条数,当删除一条记录时,该变量还是不会自减,麻烦你给个具体点的方案把
      

  8.   

    什么叫“重新排序” ?建议举例说明。
     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  9.   

    重新排序就是这样:
    id  name
    1   1 
    3   3
    5   5
    我现在想要使属性为auto_increment的id变成有序,即使
    id  name
    1   1
    2   3
    3   5
      

  10.   

    如果这种需求,在任何一种数据库中都无法通过自增字段来实现。你应该使用触发器来实现这个功能,而不是auto_increment
    另外这种应用显然会造成系统极大的负担和不确定性。比如 表中已经有1到10万连续的记录,当删除ID=10的记录时,后续的9万9千9百9十条记录都需要去更新ID值,显然这不是一个好的应用方案。楼主应该问一下,“为什么要使ID值保持连续?”
      

  11.   

    其实想使ID值保持连续,我本人确实有点想法:
    1.保持连续的话,看着给人的感觉就舒服点(当然有人提倡残缺美)
    2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的
      

  12.   

    1.保持连续的话,看着给人的感觉就舒服点(当然有人提倡残缺美)
    2.我后面有个表中的数据我也想用auto_increment定义,这个表中的数据类似于我们使用的充值卡号,通过auto_increment定义索引,以后查找也方便点。另外如果充值卡号ID值不连续,以后可能会出现很多问题的.....跟这些没关系!~也不会出问题!ID就是个标识而已。