比如我有数据
user type rank
a 116 1
a 116 2
a 116 3
b 116 1
b 116 2
我现在删除a,116,2这条记录,我希望a,116,3这条记录的rank会变为2,当我下次再插入a,116记录时,生成的rank为3
比如我有数据
user type rank
a 116 1
a 116 2
a 116 3
b 116 1
b 116 2
我现在删除a,116,2这条记录,我希望a,116,3这条记录的rank会变为2,当我下次再插入a,116记录时,生成的rank为3
正如以上回答 存在两个问题:
第一,你提的这种需求,我觉得是不规范的mysql操作。 要么是需求功能设计有问题,要么是逻辑实现有问题…从数据库规范和安全稳定的角度考虑 不建议你这么做。
第二, 真的要去做这种需求,楼上的回答 有提供sql语句去实现 但是使用update操作会锁表 当数据量很大会出现很多问题。还是要将你操作逻辑写到java代码离分离一部分逻辑然后再操作数据库
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
2 回答2.8k 阅读✓ 已解决
我觉得是设计思路的问题,不应该有这种需求才对,不然如果db的数据很多的话,不是要更新整表了,效率太低
楼主可以说下原始需求,如果是为了排序的话,其实不需要这些值是连续的