20. november 2002 - 14:47Der er
11 kommentarer og 1 løsning
problem med autonummer i tabel
har i en tabel ID til autonummerering, problemet er at når jeg sletter et Id på F.eks 12 og det højeste derefter er 11 så tildeles det næste ID automatisk 13!! hvorfor det?? Det skal give nummeret der er et højere, det er meget vigtigt. Kan man eventuelt flushe tabellen (hvad gør en flush egentlig?) eller hvad?? hvad kan man gøre for at få DB'en til at hente nummeret der kun er en højere end det sidst givne ID??
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
grunden er at jeg skal kunne håndtere flere brugere der samtiddig opdatere samme felt i min database, kun første bruger skal have lov, anden skal have fejl! Jeg bruger autonemmerering for netop at undgå at der kommer flere ID der er identiske, hvilket der gør ved max(tabelID)+1 metoden, da de 2 brugere samtiddig skriver til databasen. men hvis man laver autonummerering, kommer der altdi et unikt ID, hvilket jeg bagefter gerne vil chekke om med nummeret af Id's der var lige inden de opdaterede, og hvis det så er højere end 1, så nægter jeg opdateringen. Hvad gør en Flush table funktion?? kan det ikke resette de interne info i DB'en så den altid vælger det højeste ID og tildeler en højere??
Og det er alle felterne i samme tabel, der skal opdateres! Det handler om nogle rapporter, som har et versionsnummer (det er dette der skal stige med 1) og de har en ID, denne er ikke unik. Når rapporten bliver opdateret, bliver foregående versionsnummer, sat til 'tidligere' i status-feltet, og der indsættes en ny rapport med samme ID, og et versionsnummer der er en højere end foregående version. Når 2 brugere gør dette samtiddig, oprettes der 2 rapporter med samme versionsnummer. For at omgå dette oprettede jeg et nyt felt (ekstra_id) dette er autonummereret, og jeg tjekker så om det ekstra_id nummer brugerne har med når de skal ind og oprette en ny rapport, er mere end 1 lavere end det nye nummer som DB'en automatisk giver dem er. Hvis det er det, slettes den post de netop har indsat i DB'en igen, men dette giver det problem at autonummereringen allerede har brugt det nummer som er en gang større en gang før. Og næste gang sættes det blot en højere end sidst. Derfor vil jeg høre om man kan FLUSHE Tabellen og hvad denne funktion gør!!
for jeg skal på en eller anden måde resette DB'en.
jeg har gjort det på en anden måde. har omgået det ved kun at tillade en bruger at redigere i en rapport ad gangen!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.