Az első nem használt azonosító kikeresése
Ki hogy oldja meg ezt?
Tehát a kötvetkező lenne a feladat: van egy tábla ahol az elsődleges kulcs mező auto increment. Ha törlünk a táblából majd újból felviszünk adatot akkor nem az üres helyre teszi be az új sort hanem a maximális kulcsmező azonosítóját növeli egyel. Nade mivan ha én előre akarok tervezni, és előre láthatólag rengeteg sor lesz ebben a táblában és ki akarnám használni az üresedő helyeket?
Sajnos nem tudok olyan utasítást ami az első nem létező mező azonosítóját adná vissza :) ígyhát maradnak a trükkök. Nekem két ötletem van.
Első: szépen 1-től egyesével megnézni hogy van e azon az azonosíton adat a táblában. Első üres eredmény lenne a kívánt új azonosító. Ez elég erőforrás igényesnek tűnik. Sok adatnál ki tudja mikor lesz az első "lyuk".
Második: az adatokat nem ténylegesen törölni a táblában, hanem egy speciális szöveget megadni a törlendő rekord egyik mezőjének és új adat felvitelekor az első ilyen szövegre rákeresni. Ez talán jobb megoldásnak tűnik.
Más ötlet esetleg?
■ Tehát a kötvetkező lenne a feladat: van egy tábla ahol az elsődleges kulcs mező auto increment. Ha törlünk a táblából majd újból felviszünk adatot akkor nem az üres helyre teszi be az új sort hanem a maximális kulcsmező azonosítóját növeli egyel. Nade mivan ha én előre akarok tervezni, és előre láthatólag rengeteg sor lesz ebben a táblában és ki akarnám használni az üresedő helyeket?
Sajnos nem tudok olyan utasítást ami az első nem létező mező azonosítóját adná vissza :) ígyhát maradnak a trükkök. Nekem két ötletem van.
Első: szépen 1-től egyesével megnézni hogy van e azon az azonosíton adat a táblában. Első üres eredmény lenne a kívánt új azonosító. Ez elég erőforrás igényesnek tűnik. Sok adatnál ki tudja mikor lesz az első "lyuk".
Második: az adatokat nem ténylegesen törölni a táblában, hanem egy speciális szöveget megadni a törlendő rekord egyik mezőjének és új adat felvitelekor az első ilyen szövegre rákeresni. Ez talán jobb megoldásnak tűnik.
Más ötlet esetleg?
MySQL ezt csinálja
<Nincs cím>
En igy csinalom az user regisztraciot:
ha uj sort kell beszurni, akkor veletlenszeruen eloallitok egy 10 karakter hosszu azonositot, megnezem, hogy van e mar ilyen azonosito, ha van, akkor generaltatok egy masikat, egeszen addig, amig nincs még ilyen azonosito a tablaban. Sok elonye van szerintem a nem autoincrementes azonositoknak.
<Nincs cím>
PL. egy sorbarendezett szamhalmazon "felezeses" algoritmussal '2^n' elem kozul 'n' lepesben kivalaszthatjuk a keresett erteket, fuggetlenul attol, hogy az elemek egymast kovetoek-e.
En nem fecserelnek energiat a lukak tomkodesere.