图中圈起来的是id列,自增,主键,但是我删了一条数据之后,30直接跳到32了。
请问有什么方案可以很好的解决这个问题呢?
这是主键自增的机制没法解决,除非你创建表的时候主键变成不是自增,手动添加,这个东西没必要纠结吧,你是不是有一丢丢强迫症,而且一般数据库里面数据不会删除,基本上做个标记是否被删除而不是真的删除字段
噢噢我大概明白了,可是删除数据不是用的delete吗,删了就没了呀,您说的“”做个标记是否被删除而不是真的删除字段“”是啥意思
我百度了一下:
1、做一个标记,类型为INT(2),为1,隐藏,为0 显示!
2、删除的时候,就是不是delte 数据了,而是执行修改:将标记修改为1,然后更新+筛选查询。
的确,这样的伪删除好像好很多,我懂了,谢谢啦
@CodePanda: ....一般不是int类型,bool类型不过int也行,看你自己啦,一般还是用布尔类型
@小小咸鱼YwY: 好
用update,where限制大于30
试过的 update不了标识列
也试过增加一个列id1,然后 set id1=id 再删除id这个列, 解决过是这个列的位置变到最后去了,新增语句会出错
@CodePanda: 要先取消主键,然后修改,然后再设为主键