[MySQL]Selecteer laatste waarde uit tabel

Pagina: 1
Acties:
  • 252 views sinds 30-01-2008
  • Reageer

  • Renegade
  • Registratie: December 2000
  • Laatst online: 14-10-2020
ik heb een tabel met 1 vraag, 4 antwoorden en een id wat automatisch increment. Nou wil ik de laatste ID uitlezen als er een vraag is toegevoegd, volgens mysql.com kan het met de volgenbde code:
code:
1
2
3
4
5
6
if (mysql_error(&mysql)[0] == 0 &&
    mysql_num_fields(result) == 0 &&
    mysql_insert_id(&mysql) != 0)
{
    used_id = mysql_insert_id(&mysql);
}

Kan iemand me uitleggen wat er nou eigenlijk gebeurt :? :?

heb de uitleg erbij gelezen, maar ik kom d'r niet echt uit.

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
@BasRaayman op twitter


Verwijderd

ik heb geen eens geprobeerd dat scriptje te begrijpen want kan je niet gewoon doen:

"SELECT * FROM table LIMIT 1 DESC"

?

dan select je de laatste ;)

  • Renegade
  • Registratie: December 2000
  • Laatst online: 14-10-2020
hmmm, heb net ff verder gezocht, maar zou
code:
1
select LAST_INSERT_ID() from tabel

ook kunnen?

En welke van de 2 is sneller??

HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
@BasRaayman op twitter


Verwijderd

Op woensdag 31 oktober 2001 21:21 schreef Renegade het volgende:
hmmm, heb net ff verder gezocht, maar zou
code:
1
select LAST_INSERT_ID() from tabel

ook kunnen?

En welke van de 2 is sneller??
ik heb hier nog nooit van gehoord maar het ziet er goed uit,,

probeer het gewoon ;)

Verwijderd

Op woensdag 31 oktober 2001 21:21 schreef Renegade het volgende:
hmmm, heb net ff verder gezocht, maar zou
code:
1
select LAST_INSERT_ID() from tabel

ook kunnen?

En welke van de 2 is sneller??
nee, want met LAST_INSERT_ID() moet je eerst een INSERT query hebben uitgevoerd op een auto_increment tabel. Als je vervolgens een select doet met LAST_INSERT_ID() selecteert hij je laatste record. _Assassinator_ heeft de beste oplossing al gegeven.

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
code:
1
$sql = mysql_query("SELECT max(id) FROM tabel") or die("<p>".mysql_error());

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Op woensdag 31 oktober 2001 22:02 schreef SWINX het volgende:
code:
1
$sql = mysql_query("SELECT max(id) FROM tabel") or die("<p>".mysql_error());
Deze is iig het snelst

Verwijderd

probeer eens gewoon zo na de MySQL INSERT :
code:
1
$used_id = mysql_insert_id(&mysql);

of idd gewoon zoals SWINX met :
code:
1
$used_id = mysql_query("SELECT max(id) FROM tabel");

dan moet het lukken.
(de laatste is errug makkelijk wel ja) :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:46

Creepy

Tactical Espionage Splatterer

Op donderdag 01 november 2001 09:14 schreef WillySpruijt het volgende:

[..]

Deze is iig het snelst
Hm.. als je net een insert hebt gedaan is de oplossing met mysql_insert_id sneller dan een select max, aangezien een select max alle waarden bekijkt en de hoogste teruggeeft.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1