如果数据库表有个自动增长字段
理论上是这样
1 2 3 4 5 6 7 8 9 10 11............
某天,我删除了两个,则变成
1 2 4 5 6 8 9 10 11.............
如果我想把这两个找出来,就是找出3和7,因为它们在数据库里面没有记录,该怎么找哪?大家给点思路,谢谢...
理论上是这样
1 2 3 4 5 6 7 8 9 10 11............
某天,我删除了两个,则变成
1 2 4 5 6 8 9 10 11.............
如果我想把这两个找出来,就是找出3和7,因为它们在数据库里面没有记录,该怎么找哪?大家给点思路,谢谢...
where isnull(b.id)
没有考虑最后一条记录
select a.* from lsb a left join 工作表 b on a.id=b.id
where isnull(b.id)
我还个表,主键是一直自动增长,不会删除,假设有10万条记录....记为a表
而这个表,主键是一直自动增长,会删除,假设有7万条记录...记为b表这样的话,我先取b表最大的id:max_id然后再用a表id小于max_id的那些记录,去left join b表这样可行吗?对速度哪?因为这个做法只有最后b表达到8万条后才会经常使用,所以那时候不知道对速度有没有影响 我还没操作过太多的数据,呵呵..