คลังเก็บบล็อก

หาอินเด็กซ์ที่หายไป


ถ้าต้องการหาอินเด็กซ์  ที่หายไปในตารางที่มีอินเด็กซ์แบบ auto_increment ไว้หรือคีย์มีค่าแบบเรียงลำดับ 1,2,3,4…

index Alpha
1 a
2 b
4 c
5 e
6 f

ทำได้โดยเอาตารางมาจอยกับตัวเองโดยกำหนดให้ index น้อยกว่าอีกฝั่งอยู่ 1 ค่าแล้วหาว่าฝั่งขวามีข้อมูลรึเปล่า

SELECT *
FROM testTable  AS a
  LEFT JOIN testTable  AS b
    ON a.id = b.key_column - 1
WHERE b.key_column IS NULL;
%d bloggers like this: