有没有办法确定一个表,一个非常大的表可能,是否有连续/连续的自动增量主键ID?是否有SQL查询方式来确定这个?假设有人从一个非常大的表中随机删除了一些行.我需要知道这已经发生了.
e.g. table XYZ id 1 2 3 4 table abc 1 2 4 <--- non contiguous,skipped 3 5
你可以比较这两个值:
SELECT (MAX(ID) - MIN(ID)) + 1,-- e.g. ID 2 - ID 1 = 1 (+1) = 2 rows COUNT(ID) FROM Table
如果表仍然是连续的,它们将是相同的.