kvdveer schreef op 13 June 2003 @ 21:22:
van tinyint ligt de limiet op 128, en die heb ik al wel eens gehaald.
Als jij een script in elkaar wilt prutsen dat vertrouwt op dit gedrag - ga je gang. Ik ben in dat geval blij dat ik geen collega van je ben. Misschien gaat MySql in versie 4.5 wel over naar willekeurig gekozen keys omdat dat efficienter is en veiliger of iets dergelijks. Jouw script werkt dan om de een of andere manier niet meer. Zeker als het script wat groter is is het een ramp om het probleem te localiseren en op te lossen.
Over het algemeen is het dom/onverstandig/onproffesioneel om te vertrouwen op ongedocumenteerd gedrag.
Het gebruik van een tinyint als autoincrement is dan ook gewoon je eigen schuld dat je daar problemen mee krijgt: er staat duidelijk in de documentatie dat een signed tinyint als maximum +127 heeft. MySQL weigert dan nieuwe records te inserten en je krijgt dus prima foutafhandeling terug. Lijkt me duidelijk dat je dus in je eigen code
altijd moet afvangen of een record al geinsert is voordat je de volgende stap doet. Doe je dat niet is het ook gewoon je eigen schuld.
En waarom is auto increment opeens ongedocumenteerd gedrag?
Dit lijkt me toch duidelijk genoeg bij de user-comments.