/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
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

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste