因为删除了一条记录,
会产生一个空闲空间,
当现新插入一行记录时,
为了合理使用数据空间,
MySQL会将新的记录放在这个空闲空间上,
所以从物理上来说数据存放是非按顺序的,为了得到一个有序值,
你可以通过 SELECT ... FROM ... ORDER BY ...

解决方案 »

  1.   

    我的目的是完成以下操作:
    delete 表 where id='2'
    update 表 set id=id-1 where id>'2'
    如果delete后是按id顺序存放,这不会有问题,但MySQL不按顺序,首先修改的是新加记录[6 finish]=>[5 finish],完了,与[5 exit]的ID重复,操作失败,而MYSQL的UPDATE又不能加ORDER BY id,究竟如何解决这个问题???
      

  2.   

    呵呵,
    有难度的问题一个解决办法是,
    先移除 `id` 字段
    然后再添加一个 自增的 `id` 字段好像 MySQL 有个工具可以优化数据,使它以某字段对物理文件进行排序的,
    呵呵,不好意思,MySQL手册还是没读通
     :》
     我再去找找希望哪位同志一同帮忙