Site icon PlusMagi's Blog By Pitt Phunsanit

หา id ที่ว่างอยู่มา reused

site เดิม content ติดอยู่ใน google แล้วบางส่วน แต่จำเป็นที่จะต้องลบออก แต่ลูกค้าอยากจะให้ link เดิมมันยังเข้าได้ ถึงเนื้อหาใหม่มันจะไม่เกี่ยวกับเรื่องเดิมก็ตาม (เอาเป็นว่าให้เข้ามาที่ไซต์ก่อน)

ก่อนอื่นก็หา id ในตารางที่ว่าอยู่ เพราะโดนลบออกไปแล้วก่อน ใน mySQL ก็เขียนประมาณ

SELECT a.id + 1 AS START, MIN(b.id) -1 AS END
FROM jos_modules AS a,
     jos_modules AS b
WHERE a.id < b.id
GROUP BY a.id
HAVING
START < MIN(b.id)

ที่เหลือก็เขียน code เอา id ไป reused โดยตอน INSERT / UPDATE ก็ระบุ id เข้าไปด้วย ใน mysql จะไม่ห้ามถ้าเราจะ recycle id ถึงแม้ว่าเราจะใส่ auto increment ไว้ก็ตาม ขอแค่ id ไม่ซ้ำกับที่มีอยู่เดิม

CR : Sequence gaps in MySQL
RT : https://pitt.plusmagi.com/mysql-auto-number

Exit mobile version