Hallo,
Op dit moment ben ik met een project bezig waarbij ik AdoDB lite icm met postgresql moet gebruiken. Nu wil ik na een instert query de nieuwe id ophalen, dus ik dacht dat te doen door
$db->Insert_ID();
waarbij $db het adodb lite object is. Helaas geeft die false terug, en dat blijkt te gebeuren als het niet gesupport wordt. (de insert query werkt wel goed).
Mijn tabel structuur heb ik d.m.v pgAdmin3 gemaakt:
ALTER TABLE events ALTER COLUMN uid SET DEFAULT nextval('event_seq'::regclass);
CREATE SEQUENCE event_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 17
CACHE 1;
Ik heb al het e.e.a. gevonden; ik zou eerst curval( 'event_seq' ) moeten doen en dan de insert, waarbij de uid expliciet opgegeven wordt. Lijkt mij omslachtig, en onveilig. Kan er tussentijds niet een andere toegevoegd worden met hetzelfde id? Of word die met het aanroepen van curval() al vergeven?
Is er niet een nettere manier via AdoDB? En is mijn tabelstructuur hier uberhaubt wel goed voor?
Alvast bedankt.
Op dit moment ben ik met een project bezig waarbij ik AdoDB lite icm met postgresql moet gebruiken. Nu wil ik na een instert query de nieuwe id ophalen, dus ik dacht dat te doen door
$db->Insert_ID();
waarbij $db het adodb lite object is. Helaas geeft die false terug, en dat blijkt te gebeuren als het niet gesupport wordt. (de insert query werkt wel goed).
Mijn tabel structuur heb ik d.m.v pgAdmin3 gemaakt:
ALTER TABLE events ALTER COLUMN uid SET DEFAULT nextval('event_seq'::regclass);
CREATE SEQUENCE event_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 17
CACHE 1;
Ik heb al het e.e.a. gevonden; ik zou eerst curval( 'event_seq' ) moeten doen en dan de insert, waarbij de uid expliciet opgegeven wordt. Lijkt mij omslachtig, en onveilig. Kan er tussentijds niet een andere toegevoegd worden met hetzelfde id? Of word die met het aanroepen van curval() al vergeven?
Is er niet een nettere manier via AdoDB? En is mijn tabelstructuur hier uberhaubt wel goed voor?
Alvast bedankt.