Geçenlerde, sunucu yeniden başlatıldığında InnoDB'nin AUTO_INCREMENT değerini nasıl yeniden hesapladığı nedeniyle, kimlik listesinin üst ucundaki kayıtların kimliklerinin yeniden kullanılabileceğini okudum.
Normalde, bu bir sorun oluşturmaz, çünkü bir kullanıcı silindiğinde kimlikle ilişkili her şey diğer tablolardan da silinir.
Ancak kasıtlı olarak "İletiler = Kullanıcı # 123 =" olarak etiketlenmiş forum gönderimlerini yetim bırakıyorum, böylece geçmiş ileti dizileri korunuyor. Açıkça, bir kimlik tekrar kullanılırsa, bu bir sorun olacaktır.
Bu sorunu daha önce hiç yaşamadım, çünkü bir kimliğin bu şekilde tekrar kullanılmasını mümkün kılacak kadar yeni kullanıcı vardı. Ancak benim yeni proje kayıtları nadir ve etkin olmayan kullanıcı silme sıktır (özellikle "Açık Alfa" hesapları önizleme olarak yalnızca üç gün sürdüğü için) ve bu tür kimliklerin yeniden kullanımı üçte üç oldu.
Başka bir yerde AUTO_INCREMENT için doğru değeri kaydederek ve iç değerine güvenmek yerine kullanarak sorunu "düzeltti". InnoDB'nin gerçek son değeri hatırlamasının gerçek bir yolu var mı?