Meestal zijn Auto Inc velden goed genoeg voor unieke keys. Toch zijn er wel een paar zaken waar je rekening mee moet houden
- Een autoinc veld wordt door de database gegenereerd. Je client (of php script) weet dus niet automatisch welk ID er gegenereerd is. Als je dat ID nog verder wilt gebruiken moet je het gegenereerde ID weer zien te achterhalen voordat je verder gaat. Dit
kan lastig zijn. Het is onjuist om er vanuit gegaan dat het laast gegenereerde ID jou ID was. Ook al vraag je het gelijk na de insert op. Het kan van een andere gebruiker zijn, die ongeveer gelijktijdig een record geinsert heeft. Goede databases hebben hier een oplossing voor, maar ook daarmee moet je oppassen. Zo is de @@Identity methode van MS SQL niet geschikt. Maar de current_Identity methode weer wel.

- Heb je meerdere databases (bv 1 in de USA, 1 in Europa en 1 in Asie) die je zo nu en dan moet mergen kunnen ze (nee,
zullen ze) dezelfde autoinc waarden genereren voor verschillende records. Je kan dan gebruik maken van zaken als GUIDs om toch unieke records te genereren. GUIDs hebben echter zelf ook nadelen. Zo zijn ze random en staan ze dus niet op alfabetische volgorde in de DB.
- Werk je met hele grote databases, kun je in de problemen komen dat je auto Inc veld gaat overlopen (nu is dat bij 64 bits velden al weer een stuk minder een probleem dan bij 32 bits velden, maar goed) Dan krijg je na verloop van tijd je oude waarden weer terug.
Dus normaal gesproken kun je prima vertrouwen op auto inc velden mits je met deze drie zaken kan leven. Zo niet, kun je aan GUIDs of Generators gaan denken.