|
| ID i MySQL database Fra : Ulrik Nielsen |
Dato : 18-02-02 17:11 |
|
Hej!!
Jeg har en MySQL-Database hvor jeg har et felt der hedder:
id INT not null AUTO_INCREMENT PRIMARY KEY
Det virker også helt fint. Men hvis jeg så sletter nogle rækker og derefter
opretter nogle nye så bliver de gamle ID ikke "genbrugt" fx:
1. Hej
2. Test
3. LOL
4. SES
Hvis jeg så sletter 2 og 3 ser den således ud:
1. Hej
4. SES
Hvis jeg så opretter en ny kommer den til at hedder 5:
1. Hej
4. SES
5. Farvel
Kan man ikke få den til automatisk at tage et ID der før har være brugt???:
1. Hej
2. Farvel
4. SES
Mvh Ulrik
| |
Peter Brodersen (18-02-2002)
| Kommentar Fra : Peter Brodersen |
Dato : 18-02-02 18:46 |
|
On Mon, 18 Feb 2002 17:11:13 +0100, "Ulrik Nielsen" <un@get2net.dk>
wrote:
>Det virker også helt fint. Men hvis jeg så sletter nogle rækker og derefter
>opretter nogle nye så bliver de gamle ID ikke "genbrugt"
Det er meningen. Forestil dig at du i en anden tabel har nogle data
for fx bruger_id 2 i den anden tabel.
Genbruges der så nøgler, risikerer du, at nogle gamle karakteristika
peger på en nyoprettet bruger.
Du har selv en primærnøgle på id-feltet - det betyder, at feltet skal
være unikt. Der må således ikke være risiko for at noget data kunne
have refereret til "en gammel nr. 2 og ikke den nye nr. 2" - så er der
ikke meget unikt over det.
Er det et problem, at numre ikke genbruges?
--
- Peter Brodersen
| |
Stuffy (22-02-2002)
| Kommentar Fra : Stuffy |
Dato : 22-02-02 13:37 |
|
> >Det virker også helt fint. Men hvis jeg så sletter nogle rækker og
derefter
> >opretter nogle nye så bliver de gamle ID ikke "genbrugt"
>
> Det er meningen. Forestil dig at du i en anden tabel har nogle data
> for fx bruger_id 2 i den anden tabel.
Jeg har server hos Digiweb og der genbruges ID.
Jeg har jævnligt slettet rækker for bagefter at se at disse pladser
populeres ved inserts.
Er det noget man sætter op i den enkelte MySQL installation?
Hilsen Jimmy
| |
Peter Brodersen (22-02-2002)
| Kommentar Fra : Peter Brodersen |
Dato : 22-02-02 15:10 |
|
On Fri, 22 Feb 2002 13:37:12 +0100, "Stuffy" <abuse@hotmail.com>
wrote:
>Jeg har server hos Digiweb og der genbruges ID.
>
>Jeg har jævnligt slettet rækker for bagefter at se at disse pladser
>populeres ved inserts.
Jeg mindes at funktionaliteten er skiftet et sted i MySQL's udvikling
- såvidt jeg husker et sted mellem 3.22 og så nyere 3.23, der netop
ikke genbruger ID's. Det er dog rigtigt at i tidligere udgaver af
MySQL kunne nyeste ID blive genbrugt, hvis det var blevet slettet.
>Er det noget man sætter op i den enkelte MySQL installation?
Næeh, de har vel blot indset, at det ikke er hensigtsmæssigt at
genbruge unikke identifikatorer - uanset om det så tilfældigvis er
nyeste eller ej.
--
- Peter Brodersen
| |
|
|