I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Det mest rigtige er at tilføje et felt med tidsstempel (eller bare en fortløbende tæller). Tidsstemplet kan så sættes automatisk vha. en trigger ved INSERT og/eller UPDATE.
Spørgsmålet er hvordan du definerer "den sidst indsatte". Har du et autogenereret nøglefelt eller et TIMESTAMP/DATETIME felt som indeholder tidspunkt for oprettelse. Hvis du har et sådan felt, kan du lave: "SELECT * FROM tabelnavn ORDER BY feltnavn DESC LIMIT 1", hvilket giver dig den post med højeste værdi af "feltnavn".
Umiddelbart vil jeg mene, at databasen har lov til at organisere posterne i den rækkefølge den selv vil. Det er derfor ikke sikkert, at den sidst indsatte rækker ligger 'sidst' (selvom det ofte er tilfældet i praksis).
I Oracle ligger der et (skjult) felt på alle tabeller, som hedder ROWID. Jeg ved ikke, om det er tilfældet i MySQL. Hvis det er tilfældet kan man måske søge efter det største rowid.
MySQL har ikke noget tilsvarende Oracle's ROWID (hvilket jeg iøvrigt ikke mener er fortløbende numre, men snarere HASH værdier .. men kan huske forkert)
Hvis du har et autogeneret felt, som tildeles en værdi ved hver indsættelse, kan du med funktionen max() få den højeste værdi ud: "select max(feltnavn) from tabelnavn"
Det handler om at få fat i den sidst indsatte,..dvs. få fat i et Id lige idet man indsætter, så er det ligemeget hvor DB lægger den, så kan man altid få fat i den rigtige bagefter
Jeg benytter præcis det samme SELECT statement (via JDBC), og det virker upåklageligt.
Du er sikker på at det et MySQL du benytter, og ikke f.eks. MS SQL? (hvor syntaksen er anderledes).
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.