row id - problemer med slet row.
Hej eksperter.Jeg har en database hvor jeg har en kolonne, nyhed_id, som er primary key. Hver gang jeg så opretter en nyhed bliver den lagt ind som en row, og nyhed_id bliver samtidigt lagt ind som én større en den forrige. DVS, hvis jeg opretter en nyhed, og der var 10 nyheder før, så bliver denne nyhed døbt nyhed_id nummer 11. Dette gør jeg ved hjælp af at tælle antallet af rows ved hjælp af COUNT funktionen.
SELECT COUNT(nyhed_id) FROM nyheder
det bliver lagt i en INT+1, og det tal, som er én større end antallet af kolonner nyhed_id, bliver lagt ind sammen med den nye nyhed/row. Dette virker også fint, hvis man ikke sletter nogle rows, medmindre det er den sidst indlagte nyhed.For hvis jeg sletter en nyhed som ikke er den sidste vil det fejel. Eks.
Der er 10 nyheder. Jeg sletter nyhed nummer 3. Nu er der i alt 9 nyheder, 1,2,4,5,6,7,8,9 og 10. Hvis jeg så laver en ny nyhed, da vil den tælle antallet af rows = 9. Og den nye nyhed vil få nyhed_id = 10. Problemet kommer så her fordi at nyhed_id er primary key not null. Så der kan ikke være 2 af samme værdi.
Mit spørgsmål er så om der er en nemmere metode til at lave dette trick på? Lige nu køre jeg en metode der tjekker hver værdi i kolonnen nyhed_id, og hvis der er mere en +1 op til den næste værdi rettes denne og resten deropaf. Dette bliver imidlertidigt noget tungt at køre når der er mange nyheder. Håber i har en god idé / ved mere end mig på dette punkt! :D
På forhånd tak!
Mvh
Martin