这样做有很大的弊端
你这是删除id=2,后面已经没有数据了,所以不用考虑id=3....n的情况。
如果id字段的数据很多呢,删除id=2 那么id=3...n的 是不是都要依次减一,这样数据库的开销会很大。
如果你一定要这么做,得变通一下。
要增加一个表deltable,用来记录被删除的ID号。 往主表插入数据时候首先从deltable表中取出一个id,然后根据这个id往主表插数据,成功后删除deltable表中的这个id。如果deltable表为空,则插入主表的表尾。
这样做存在的弊端是 当有大量并发写主表就会出问题。 当然可以给写主表任务建立队列,并且锁表,能解决并发问题
你这是删除id=2,后面已经没有数据了,所以不用考虑id=3....n的情况。
如果id字段的数据很多呢,删除id=2 那么id=3...n的 是不是都要依次减一,这样数据库的开销会很大。
如果你一定要这么做,得变通一下。
要增加一个表deltable,用来记录被删除的ID号。 往主表插入数据时候首先从deltable表中取出一个id,然后根据这个id往主表插数据,成功后删除deltable表中的这个id。如果deltable表为空,则插入主表的表尾。
这样做存在的弊端是 当有大量并发写主表就会出问题。 当然可以给写主表任务建立队列,并且锁表,能解决并发问题