Gå til innhold

Prostgre funkjson aka mysql_insert_id?


Anbefalte innlegg

Hei,

 

Har eit ganske enkelt spørmål, holder med eit converter skript og i går prøvde eg å lage ein postgre driver klasse, men eg fant ingen fuksjoner i postgre som returnere siste automatiske genererte id som INSERT ID i MySQL. Noen som kan hjelpe?

 

Runar

Lenke til kommentar
Videoannonse
Annonse
Har eit ganske enkelt spørmål, holder med eit converter skript og i går prøvde eg å lage ein postgre driver klasse, men eg fant ingen fuksjoner i postgre som returnere siste automatiske genererte id som INSERT ID i MySQL. Noen som kan hjelpe?

9486575[/snapback]

Du kan ta en titt på SERIAL. Du skal kunne bruke funksjonen curval (på samme måte som nextval) for å hente ut siste gjeldende verdi. Og så må du så vidt jeg husker sørge for å kjøre det i en transaksjon for at du ikke skal få problemer (jeg bruker ikke sekvenser så ofte selv).

Lenke til kommentar

Hei, i postgres 8.2 kom det litt ny funksjonalitet som passer bra med det du spør etter:

 

CREATE TABLE distributors (

did serial primary key,

dname text

);

 

Insert a single row into table distributors, returning the sequence number generated by the DEFAULT clause:

 

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets')

RETURNING did;

 

med did satt som serial blir det automatisk laget en serial som begynner å telle på 1 og fortsetter oppover.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...