[mysql] Autoincrement fill the gaps?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
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
---------------------------
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"
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
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.
nouja nevermind ik heb het al gevonden
alle uids where uid+1 NOT IN diezelfde database
limit 0,1.
krijg je altijd de 1e gap , bij geen gaps de laatste
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.
Quote:
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 :Pik 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.
Je zou er eventueel omheen kunnen werken door een XML-bestand te gebruiken?
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
dat heeft het wel in mijn geval. jij weet ook dat als ik zeg dat ik zoiets wil, ik dat ook niet 'gewoon' kan doen zoals het zou moeten.
@kasper
ik zeg ook niet dat het om zoiets gaat
anywho ik heb de oplossing dus al, iedereen kan stoppen met miepen, not that i care
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.
i did + zie boven
je betaalt toch niet voor bijv record 300 t/m 450? mij lijkt het logischer dat je gewoon betaald voor 150 records?
Jurgen schreef op 08.08.2007 12:45:
je betaalt toch niet voor bijv record 300 t/m 450? mij lijkt het logischer dat je gewoon betaald voor 150 records?
Voor records betalen is helemaal niet logisch. Eén record van 2 Gig neemt nog altijd meer ruimte in dan 1000 records van 5 Bytes.
wes schreef op 08.08.2007 12:39:
En daar ga jij dus de mist in, dit bestaat namelijk niet. Het is een uniek record en daarmee houdt iedere betekenis op.@frank
dat heeft het wel in mijn geval. jij weet ook dat als ik zeg dat ik zoiets wil, ik dat ook niet 'gewoon' kan doen zoals het zou moeten.
dat heeft het wel in mijn geval. jij weet ook dat als ik zeg dat ik zoiets wil, ik dat ook niet 'gewoon' kan doen zoals het zou moeten.
Heb jij nog een stukje data met een bepaalde betekenis, bv. een volgorde of ouderdom, dan zul je dus een extra kolom moeten aanmaken. Dit heeft namelijk niets te maken met het unieke record.
Quote:
Yeah, right. De naam is toch Wes? En nu jij een keertje niet kan miepen moeten wij ook maar stoppen met miepen? Dacht het niet!!!anywho ik heb de oplossing dus al, iedereen kan stoppen met miepen, not that i care
;)
Ps. Het verhaal over unieke records is wél serieus bedoelt.
je hebt mij en velen anderen erg nieuwsgierig gemaakt.
wat is nu die reden van een bepaalde range? leg dat eens uit... ik kan het me namelijk niet voorstellen en ben erg benieuwd waarom jij daar wel last van hebt...