Hoe kan ik automatische een code genereren die in een sql tabel komt te staan. Ik wil nl. de leden een link sturen met die code die automatisch is aangemaakt zodra ik een persoon toevoeg.
Dan kun je een Universally Unique Identifier (UUID) of Globally Unique Identifier (GUID) gebruiken: een ID die overal en altijd uniek is.
In PHP kan dat bijvoorbeeld met de functie uniqid(), alleen geeft die deels voorspelbare strings. Je kunt dit beveiligingsprobleem dan omzeilen door beide te combineren, dus door een random code toe te voegen aan de UUID:
Verder kun je het op databaseniveau afdwingen door de kolom UNIQUE te maken, maar dan heb je bij de INSERT wel iets nodig dat een eventueel conflict bij een dubbele code afvangt.
Wat ik eerder wel eens heb gedaan is een unique index instellen op de kolom waar de codes in worden opgeslagen, met een lus in PHP om bij een theoretisch conflict, nog eens te proberen om een unieke code te verzinnen. Maar misschien is dat te simpel gedacht..