Avatar billede sebster Nybegynder
15. september 2004 - 09:23 Der er 15 kommentarer og
1 løsning

Finde det kommende id.

Jeg vil gerne kunne hive det kommende id ud af min mysql database, men kender ikke funktionen. Det skal bruges så jeg kan navngive et billede med det samme som idet i databasen.
Avatar billede michael_stim Ekspert
15. september 2004 - 09:30 #1
Man kan ikke hive noget ud der ikke er i databasen ;o)
Du kan tage den sidste post og plusse med 1.
Avatar billede sebster Nybegynder
15. september 2004 - 09:33 #2
Problemet er bare at hvis jeg sletter alt i databasen, så er der ingen poster hvor jeg kan hive noget ud fra, men pga autonummeringen kan id'et godt være 65. Har du et alternativ til det.
Avatar billede jakobclausen Nybegynder
15. september 2004 - 09:34 #3
med mysql_insert_id() kan du finde den id der bliver brugt hvis du opretter en post og du bruger AUTO_INCREMENT
Avatar billede jakobclausen Nybegynder
15. september 2004 - 09:34 #4
Avatar billede sebster Nybegynder
15. september 2004 - 09:39 #5
hvordan bruger jeg den???
Avatar billede michael_stim Ekspert
15. september 2004 - 09:39 #6
Ikke hvad jeg ved. Men der findes sikkert en funktion der kan vise hvilket nummer tabellen starter med hvis den er tom. Kik i dokumentationen som Erik linker til.
Avatar billede michael_stim Ekspert
15. september 2004 - 09:40 #7
Den kräver at du sätter en post ind först, og tror ikke det er det du er ude efter, eller?
Avatar billede jakobclausen Nybegynder
15. september 2004 - 09:41 #8
michael_stim >> Hvem er erik ?
Avatar billede sebster Nybegynder
15. september 2004 - 09:41 #9
nej det er mysql_insert_id() funktionen jeg har interesse for!!
Avatar billede Slettet bruger
15. september 2004 - 09:44 #10
Jeg ville sætte posten ind først og så bekymre mig om at ændre navnet på billedet bagefter.
Avatar billede michael_stim Ekspert
15. september 2004 - 09:46 #11
Det er dig Jakob, Sorry troede det var Erik JAKOBsen. Er lidt morgenträt.
Avatar billede jakobclausen Nybegynder
15. september 2004 - 09:46 #12
Hmm du skriver vidst ikek noget om hvilket sprog du bruger, men i php kan du se her hvordan det bruges: http://www.php.net/manual/da/function.mysql-insert-id.php
Avatar billede sebster Nybegynder
15. september 2004 - 09:47 #13
undskyld men php???
Avatar billede arne_v Ekspert
15. september 2004 - 09:57 #14
Den funktion returnerer ikke næste auto genererede ID men sidste
autogenererede id.

D.v.s. at man laver sin INSERT, henter den autogenrerede id og indsætter den værdi
i andre tabeller.

mysql_insert_id() er C gfunktionen (jeg gætter på at der er en tilsvarende i PHP).

I ren MySQL SQL hedder funktionen LAST_INSERT_ID() og den kan bruges
i alle sprog.
Avatar billede sebster Nybegynder
15. september 2004 - 10:02 #15
skal den sættes ind i sql linjen???
Avatar billede arne_v Ekspert
15. september 2004 - 10:26 #16
Problemt stillinge er typisk den at man skal indsætte en række i hver af
to tabeller. Den første tabel har en auto incrment key. den anden tabel
har et felt som peger på rækken i dne første tabel.

INSERT INTO tabel1 (b,c) VALUES (123,'abc')

INSERT INTO tabel2 (x,y) VALUES (77, LAST_INSERT_ID())
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