0
比方说,我有3列讨论:更新主键值
表表:表1 rec_no - >主键(整数) 产品 prodlocation
我会尽力做一个创纪录的转变
update table1 set rec_no = rec_no - 1
- >工作正常
update table1 set rec_no = rec_no + 1
- >失败,主键冲突
我明白我们不应该操纵数据,如果它是主键的一部分。
出于讨论的缘故,任何想法为什么第二个查询失败?如果两个查询均失败,我认为这是可以接受的
主键违规通常意味着您尝试设置的值已经存在于另一条记录中。但是,您是否将这两个查询连接起来? –
这两个查询都是单独的函数。我一次只运行一个查询。我的rec_no数据只是0到10之间的数字,无论是+1还是-1,数据仍然存在。 如果两个查询均失败,则会更容易。只有-1获得成功,这让我感到困惑。 – user3015739