重新插入导致我的自动增量字段破坏的元素

时间:2012-10-20 12:53:12

标签: mysql

我有一张表,其中包含以下记录集:

Sno Unique  Something
1      1    some data
1      2
1      3
1      4
2      1
2      2
2      3

我通过将sno和unique_no设置为主键而unique_no是自动递增字段来实现此目的。现在问题是如果我删除一个带有sno 1的字段和一个值为1,2,3的唯一字段,然后用sno插入一些其他数据为1这就是我得到的那种表:

   Sno Unique  Something
    1      5   new data
    1      6   new data
    1      4   somedata
    2      1
    2      2
    2      3

但是我希望得到最低值的东西并开始递增它并改变唯一值,这样它就没有任何跳跃。这有可能实现吗?

    Sno Unique  Something
    1      1   new data
    1      2   new data
    1      3   somedata
    2      1
    2      2
    2      3

1 个答案:

答案 0 :(得分:0)

最简单的答案是,如果Unique_NOAUTO_INCREMENT字段,则无法执行您想要的操作,因为它会再生成1个最后插入的值(即使它已被删除< / em>的)。

您可以做的最好的方法是在应用层中创建一个生成Unique_No的逻辑。