Arvin_ghost 2015-08-12 13:28 采纳率: 0%
浏览 2641
已采纳

sql 如何设置一列id为连续的自然数

即删除中间记录时,这一列仍能连续,比如12345行,删除第三行,记录变为1234,
这样如何实现?

  • 写回答

8条回答 默认 最新

  • devmiao 2015-08-12 13:32
    关注

    没有必要要这么一列,直接在查询的时候根据某个条件(比如插入时间排序),然后产生行号就可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • devmiao 2015-08-12 13:32
    关注
    评论
  • Liekkas_BX 2015-08-12 13:41
    关注

    该列应该定义为整形,定义时你可以设置其为自增长的,并且作为主码,例如:ID int auto_incream primary key,好多数据库都支持anto_increment(自增长)的。

    评论
  • devmiao 2015-08-12 13:53
    关注

    非要那么做,可以用
    update xxx set id=(select max(id) from xxx)+1

    评论
  • devmiao 2015-08-12 13:54
    关注

    非要那么做,可以用
    insert into xxx set id=(select max(id) from xxx)+1

    评论
  • JonsonJiao 2015-08-12 22:11
    关注

    我的想法是为该表增加一个删除触发器,删除后更新ID

    评论
  • beaconD 2015-08-13 01:36
    关注

    select max(id) from table

    评论
  • 猜个 2015-08-13 01:57
    关注

    没必要这么做啊,列表你应该是展示在jsp上吧,从控制器取出来数据时,在页面如果使用遍历的话把count指定为行号就可以了,
    当你删除后刷新列表,就自动变了,还不用操作数据库,节省性能

    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 Tpad api账户 api口令
  • ¥30 ppt进度条制作,vba语言
  • ¥15 stc12c5a60s2单片机测光敏ADC
  • ¥15 生信simpleaffy包下载
  • ¥15 请教一下simulink中S函数相关问题
  • ¥15 在二层网络中,掩码存在包含关系即可通信
  • ¥15 端口转发器解析失败不知道电脑设置了啥
  • ¥15 Latex算法流程图行号自定义
  • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
  • ¥40 基于51单片机实现球赛计分器功能