/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL - LAST_INSERT_ID()
Fra : Jimmy


Dato : 30-12-02 12:26

Hej med Jer

Jeg er begyndt at anvende LAST_INSERT_ID() til at finde det ID, der lige er
sat ind.

Jeg har ikke fundet ret meget dokumentation omkring dette på mysql.com:
http://www.mysql.com/doc/en/ODBC_and_last_insert_id.html


1)
Hvordan holder den styr på hvilket ID der skal returneres?
Altså - er det det _sidste_ ID eller det sidste, som en given bruger har
fået indsat?

2)
Er metoden pålidelig, hvis der er mange samtidige INSERT's i databasen?


Mvh
Jimmy



 
 
Ukendt (30-12-2002)
Kommentar
Fra : Ukendt


Dato : 30-12-02 12:50

Jimmy wrote:
> Hej med Jer
>
> Jeg er begyndt at anvende LAST_INSERT_ID() til at finde det ID, der lige er
> sat ind.
>
> Jeg har ikke fundet ret meget dokumentation omkring dette på mysql.com:
> http://www.mysql.com/doc/en/ODBC_and_last_insert_id.html
>
>
> 1)
> Hvordan holder den styr på hvilket ID der skal returneres?
> Altså - er det det _sidste_ ID eller det sidste, som en given bruger har
> fået indsat?
>
> 2)
> Er metoden pålidelig, hvis der er mange samtidige INSERT's i databasen?
>
>
> Mvh
> Jimmy
>
>
1) Du skal køre LAST_INSERT_ID() på den forbindelse (connection) hvor du
lige har lavet en INSERT.

FX:

Conn.Open( ..... );
Conn.Exec( "Insert into test values ( 'hej' );" );
Conn.Exec( "select LAST_INSERT_ID() as id;" );
Conn.Close();

2) Ja, Hvis du gør som 1)

Cheers, Frank


Niels Andersen (30-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 30-12-02 13:11

Jimmy wrote in <23WP9.19$hj3.1254@news.get2net.dk>:
> Jeg er begyndt at anvende LAST_INSERT_ID() til at finde det ID, der lige
> er sat ind.
>
> Jeg har ikke fundet ret meget dokumentation omkring dette på mysql.com:
> http://www.mysql.com/doc/en/ODBC_and_last_insert_id.html

Derfra er der link til:
http://www.mysql.com/doc/en/Getting_unique_ID.html

> Hvordan holder den styr på hvilket ID der skal returneres?
> Altså - er det det _sidste_ ID eller det sidste, som en given bruger har
> fået indsat?

Når du indsætter noget, som automatisk får tildelt en ID, så husker den
hvilken ID det er.
Det er altså ikke "den nyeste ID i tabellen", men "ID på det, du lige har
sat ind på samme forbindelse".

> Er metoden pålidelig, hvis der er mange samtidige INSERT's i databasen?

Jeg har i hvert fald ikke grund til at tro andet.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jimmy (30-12-2002)
Kommentar
Fra : Jimmy


Dato : 30-12-02 13:56


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:EJWP9.18850$Hl6.2039772@news010.worldonline.dk...
> Jimmy wrote in <23WP9.19$hj3.1254@news.get2net.dk>:
> > Jeg er begyndt at anvende LAST_INSERT_ID() til at finde det ID, der lige
> > er sat ind.
> >
> > Jeg har ikke fundet ret meget dokumentation omkring dette på mysql.com:
> > http://www.mysql.com/doc/en/ODBC_and_last_insert_id.html
>
> Derfra er der link til:
> http://www.mysql.com/doc/en/Getting_unique_ID.html
>
> > Hvordan holder den styr på hvilket ID der skal returneres?
> > Altså - er det det _sidste_ ID eller det sidste, som en given bruger har
> > fået indsat?
>
> Når du indsætter noget, som automatisk får tildelt en ID, så husker den
> hvilken ID det er.
> Det er altså ikke "den nyeste ID i tabellen", men "ID på det, du lige har
> sat ind på samme forbindelse".

Det er også den tanke jeg har.
Altså at den holder styr på den på en connection-basis.

Er det noget du har et link til?


> > Er metoden pålidelig, hvis der er mange samtidige INSERT's i databasen?
>
> Jeg har i hvert fald ikke grund til at tro andet.

Sådan har jeg det også.
Det kunne være spændende at læse lidt om metoden så man turde stole på den i
produktionsøjemed.

Tak for svarene,
Jimmy



Niels Andersen (30-12-2002)
Kommentar
Fra : Niels Andersen


Dato : 30-12-02 16:13

Jimmy wrote in <lnXP9.26$hj3.1875@news.get2net.dk>:
>> > Jeg har ikke fundet ret meget dokumentation omkring dette på mysql.com:
>> > http://www.mysql.com/doc/en/ODBC_and_last_insert_id.html
>> Derfra er der link til:
>> http://www.mysql.com/doc/en/Getting_unique_ID.html
>> Det er altså ikke "den nyeste ID i tabellen", men "ID på det, du lige har
>> sat ind på samme forbindelse".
> Det er også den tanke jeg har.
> Altså at den holder styr på den på en connection-basis.
>
> Er det noget du har et link til?

http://www.mysql.com/doc/en/Getting_unique_ID.html

Nu har jeg også læst teksten, så nu er jeg helt sikker på det, jeg sagde
før.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jimmy (30-12-2002)
Kommentar
Fra : Jimmy


Dato : 30-12-02 17:27


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:OnZP9.18908$Hl6.2054601@news010.worldonline.dk...
> Jimmy wrote in <lnXP9.26$hj3.1875@news.get2net.dk>:
> >> > Jeg har ikke fundet ret meget dokumentation omkring dette på
mysql.com:
> >> > http://www.mysql.com/doc/en/ODBC_and_last_insert_id.html
> >> Derfra er der link til:
> >> http://www.mysql.com/doc/en/Getting_unique_ID.html
> >> Det er altså ikke "den nyeste ID i tabellen", men "ID på det, du lige
har
> >> sat ind på samme forbindelse".
> > Det er også den tanke jeg har.
> > Altså at den holder styr på den på en connection-basis.
> >
> > Er det noget du har et link til?
>
> http://www.mysql.com/doc/en/Getting_unique_ID.html

Vildt nok - Jeg overså fuldstændigt dit link i første post og linket på den
side jeg _selv_ postede


> Nu har jeg også læst teksten, så nu er jeg helt sikker på det, jeg sagde
> før.

Jeps - Enig.

Tak,
Jimmy



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste