Avatar billede pellekahn Nybegynder
24. marts 2004 - 10:42 Der er 10 kommentarer og
2 løsninger

Fjerne sidste insert..

Sidder og roder med en MySql database gennem C#, og har brug for at kunne fjerne den sidste insert der er lavet i databasen. Kan dette lade sig gøre?

Vidste ikke lige hvor spørgsmålet hører til, men regner med at dette er stedet...
Avatar billede clausjul Nybegynder
24. marts 2004 - 10:44 #1
DELETE FROM <table> WHERE id=LAST_INSERT_ID()) ???
Avatar billede muddi Praktikant
24. marts 2004 - 10:44 #2
Jeg kan kun hjælpe med sql-delen.
Har dine inserts et timestamp eller et auto_increment felt?
Hvilken version af mysql har du?
Avatar billede pellekahn Nybegynder
24. marts 2004 - 10:49 #3
Har version 4.0.17, og de inserts der er tale om er meget forskellige, så det er langtfra alle der har hverken timestamps eller auto_increments.
Avatar billede muddi Praktikant
24. marts 2004 - 10:54 #4
Hvis der er tale om en netop indsat post, så kan du bruge clausjul's forslag. Hvis det ikke er tilfældet er du nødt til at finde den med den højeste auto_increment-værdi eller det nyeste timestamp. Forudsat at omtalte timestamp ikke bliver opdateret ved update!
Avatar billede muddi Praktikant
24. marts 2004 - 10:55 #5
Mig bekendt findes der ikke nogen indbygget funktion til at finde den nyeste post i en tabel. Så hvis du ikke har hverken auto_increment-felter eller en eller anden form for datomærkning, så er du "prisgivet" :)
Avatar billede pellekahn Nybegynder
24. marts 2004 - 10:58 #6
Har prøvet clausjul's forslag, men er ikke den store haj i dette emne, så jeg kunne ikke lige få det til at virke. Kan I evt lave et eksempel?
Avatar billede arne_v Ekspert
24. marts 2004 - 11:09 #7
Jeg kan se 2 muligheder:

A)  DELETE ved hjælp af primær nøgle - enten fordi du gemmer den - eller fordi
    du kan hente en auto increment værdi med last_insert_id()

B)  Omstrukturer din logik og skift fra MyISAM til InnoDB tabeller og brug
    transaktioner - så laver du INSERT men venter med at lave COMMIT indtil
    du  ved at du skal bruge den record (jeg  har tilladt mig at antage at
    det er en "fortryd" funktionalitet du har brug for)
Avatar billede pellekahn Nybegynder
24. marts 2004 - 11:30 #8
muddi og arne_v i kan evt lige kaste et svar hver så i kan dele pointene. Tak for hjælpen! Jeg går i krig...
Avatar billede muddi Praktikant
24. marts 2004 - 11:33 #9
God kamp! :o)
Avatar billede arne_v Ekspert
24. marts 2004 - 12:06 #10
svar
Avatar billede pellekahn Nybegynder
24. marts 2004 - 12:18 #11
>> Muddi, du smed en kommentar og ikke et svar :) Venter lige et par timer med at lukke, så du kan nå at smide et...
Avatar billede muddi Praktikant
24. marts 2004 - 12:20 #12
Sorry, jeg synes ellers jeg havde afmæket det som svar :p
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester