uidNumber | name | beheer
---------------------------
2011 | test | 1
2012 | test | 1
2013 | test | 1
2014 | test | 2
2015 | test | 1
2016 | test | 1
2017 | test | 2
2018 | test | 2
2019 | test | 2
2020 | test | 1
waar uidNumber een autoincrement key is.
Dit is uiteindelijk voor een linux systeem voor webdomain records. Nu is het zo dat er zodra ik een uid verwijder, ik daar een gat in mijn database krijg.
mn vraag is nu:
Is het mogelijk om bij het invoeren van een nieuwe record, te kijken of er nog een gat gedicht kan worden met een uidNumber. Zoja gebruik dat uidNumber, zo nee ga 'gewoon' met autoincrement laatste + 1 verder.
Der zijn hier al vaker discussies over geweest en voor zover ik mij kan herinneren krijg je er alleen maar een zeer grote rotzooi van... En is het dus ook niet slim dat je die gaten "opvult"
ja maar die onzin heb ik allemaal niet nodig.
ik heb een bepaalde range die ik mag gebruiken waar ik voor betaal, ik wil niet dat ik 150 uids kan gebruiken en er maar 120 gebruik omdat er overal gaten in zitten.
dus vanaf hier
-------------------------------
geen gezeur over dat het niet handig is etcetc, daar ben ik me van bewust, maar tis nie anders
Af te raden. Maar tuurlijk kan het. Gewoon even vanaf 1 alle nummers oproepen uit de database en zodra er niks gevonden is kan je dat nummer gebruiken. De auto_increment zal je moeten verwijderen. Wel de kolom op 'UNIQUE' laten staan.
Misschien wel simpeler: Extra veld maken in de kolom waarin een 1 staat als ie op 'DELETE' staat en 0 als ie gewoon functioneel is. Dan hoef je alleen daar een SELECT op te doen en bij 'gevonden' de nieuwe gegevens er in en dat veld weer op 0 zetten.
Met een auto_increment zorg je er voor dat je gegarandeerd een uniek record aanmaakt zonder dat je daar zelf input voor hoeft te geven. Nu heb je een uniek record en kun je deze eenvoudig terugvinden.
Alles draait dus om 'uniek record'. Verder heeft het geen enkele (!!!!) betekenis, ook niet als jij er met de nodige fantasie toch een betekenis aan toekent. Het heeft geen betekenis en dat zal het ook niet krijgen. Amen.
Voorbeeldje: 287, 2793, 7, 8462
Leg mij nu eens uit waar er nu een gat zit in deze 4 unieke records.
ik heb een bepaalde range die ik mag gebruiken waar ik voor betaal, ik wil niet dat ik 150 uids kan gebruiken en er maar 120 gebruik omdat er overal gaten in zitten.
Dat is een aparte gang van zaken? Er zijn hosters waarbij je maar 1 of 2 databases mag gebruiken, maar een beperking op het aantal id's heb ik nog nooit gezien :P
Je zou er eventueel omheen kunnen werken door een XML-bestand te gebruiken?
Ik heb een vermoeden dat het in dit geval beter zou zijn een extra kolom toe te voegen, 1 "id" auto_increment die gewoon voor een uniek nummertje zorgt op de normale manier en een uidNumber op de manier die je nu gevonden hebt zodat er geen gaten ontstaan.