last_insert_id in postgres
dennis
22/12/2008 16:21:00ik ben bijna klaar met mijn Database class
die zowel met mysqli werkt als nu ook met postgres
alleen er is 1 functie waar ik niet uitkom
ik kan nergens vinden wat de postgreSQL versie is van mysqli_insert_id.
nu werkt postgres met sequences en niet met auto_increment maar mij lijkt dat het toch mogelijk moet zijn.
weet iemand hier een oplossing voor.
mvg,
Dennis
die zowel met mysqli werkt als nu ook met postgres
alleen er is 1 functie waar ik niet uitkom
ik kan nergens vinden wat de postgreSQL versie is van mysqli_insert_id.
nu werkt postgres met sequences en niet met auto_increment maar mij lijkt dat het toch mogelijk moet zijn.
weet iemand hier een oplossing voor.
mvg,
Dennis
PHP hulp
22/12/2024 18:21:28Frank -
22/12/2008 16:29:00Die is er ook niet, zo werkt het namelijk niet in de grote database-wereld.
Vooraf het id opvragen (dus nog voordat de INSERT is uitgevoerd):
Ga dit resultaat fetchen en zet hem in je INSERT:
Je kunt ook achteraf opvragen wat het is geworden door CURRVAL() of LASTVAL() te gebruiken, ook hier weer een SELECT-query voor gebruiken.
Een andere hele handige optie is RETURNING gebruik bij de INSERT-query:
Ga dit resultaat fetchen zoals je een SELECT fetcht en klaar ben je.
Uiteraard kan het onmogelijk met MySQLi werken, dat is een aanpak voor MySQL-databases. Het heet tenslotte geen pgSQLi...
Vergeet niet dat iedere database anders is en dat je altijd specifieke SQL nodig hebt. Tenzij je alle voordelen van jouw database wilt negeren en wat generieke SQL wilt gebruiken. Snelheid kun je dan beter vergeten.
Ps. RETURNING is pas sinds versie 8.2 beschikbaar, controleer dat wel even.
Vooraf het id opvragen (dus nog voordat de INSERT is uitgevoerd):
Ga dit resultaat fetchen en zet hem in je INSERT:
Je kunt ook achteraf opvragen wat het is geworden door CURRVAL() of LASTVAL() te gebruiken, ook hier weer een SELECT-query voor gebruiken.
Een andere hele handige optie is RETURNING gebruik bij de INSERT-query:
Ga dit resultaat fetchen zoals je een SELECT fetcht en klaar ben je.
Uiteraard kan het onmogelijk met MySQLi werken, dat is een aanpak voor MySQL-databases. Het heet tenslotte geen pgSQLi...
Vergeet niet dat iedere database anders is en dat je altijd specifieke SQL nodig hebt. Tenzij je alle voordelen van jouw database wilt negeren en wat generieke SQL wilt gebruiken. Snelheid kun je dan beter vergeten.
Ps. RETURNING is pas sinds versie 8.2 beschikbaar, controleer dat wel even.
Gewijzigd op 01/01/1970 01:00:00 door Frank -