Volgende Autoindex via php opvragen
Wanneer je een post wil gaan doen waarbij de link een id meekrijgt maar de ID nog niet geweten is. Ik kan hem te weten komen door de auto index waarde op te vragen van het gewenste veld. Helaas vind ik deze functie nergens terug. Wie kan me daarbij op weg helpen?
mysql_insert_id() gebruiken.
Je vraagstelling is erg onduidelijk, maar bedoel je dat je het nieuw gegenereerde id na een INSERT query wilt weten? In dat geval kun je na het uitvoeren van de query de functie dit script en deze tutorial hoe je met RETURNING en CURRVAL() de waarde van het id (of eigenlijk de sequence) kunt retourneren.
Heb je wel PostgreSQL of bv. Oracle nodig.
Zie Heb je wel PostgreSQL of bv. Oracle nodig.
offtopic:
Eigenlijk is het vreemd dat er een functie in PHP bestaat die dit opvraagt. Het is veel logischer om een query op de database los te laten die dit opvraagd. Daarom snap ik het principe van relationele databases ook veel beter nu ik PostgreSQL gebruik.
Gewijzigd op 01/01/1970 01:00:00 door Simon Blok
unieke sleutel begint vannaf 1 en loopt op tot ...
BV:
index.php?waarde= volgende auto index
de waarde moet ik op voorhand weten. ik kan het niet uit men db ontrekken na de post want dat is te laat.
je haalt de id op van je laatste record/post en die ID vermeerder je met 1?
de sql zal dan als volgt kunnen uitzien:
edit:
sql verwijdert, niet nagedacht =/
laat maar, krijg je problemen als je die laatste record net verwijderd hebt, dan gaat auto_index eentje hoger
Gewijzigd op 01/01/1970 01:00:00 door Eduard
En zo kan ik nog wel even doorgaan... Je loopt met een SELECT dus altijd achter de feiten aan, je hebt geen flauw idee wat er nu nu nu allemaal wordt uitgevoerd. De database kan je daar meer over vertellen, maar dan alleen wanneer deze daar de juiste functies voor in huis heeft. En daarvoor hoef je niet bij MySQL aan te kloppen.
Met functies als NEXTVAL() kun je een sequence-nummer aanmaken en reserveren voor jouw query. Wat andere queries ondertussen uitspoken, daar heb je niks mee te maken. In een goede database weet je dus vooraf al welk id jouw record gaat krijgen, dat kun je gewoon opvragen.
Gewijzigd op 01/01/1970 01:00:00 door Frank -