lijieshare 2011-09-01 20:25
浏览 376
已采纳

充分利用数据库主键

有一个数据库,ID做主键,每次取最大值加一做主键,但是当中间某几条数据被删除,则需要取被删的最小的值做主键。
例如:
表中有如下数据
ID Name
1 A
2 B
3 C
4 D
5 E
正常情况下,再插入一条数据,ID应该为6,但是假如插入第六条数据之前,ID为2和3 的数据被删除了,此时再插入,那么ID应该为2,而不是6,请问如何控制????

  • 写回答

11条回答 默认 最新

  • weixin_42565855 2011-09-01 20:43
    关注

    如果一定要做,可以将主键ID排序好放进数组,
    然后 判断 a[i]-a[i-1]是否大于2,如果大于2,获得主键a[i-1] + 1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容