De korte versie hier is dat het gebruik van ongekwalificeerde lastval
is een slecht idee. Triggers, regels, enz. kunnen problemen veroorzaken.
Je moet lastval
vermijden geheel. Gebruik:
BEGIN;
INSERT INTO "users" ("email", "first_name", "last_name", "password", "objectstate_id", "activate_rid")
VALUES ('[email protected]', 'Xpress', 'Care', 'f9fecdd84ee071806423adf30d6d6ff04e1a0a2c6688f2c057ddbab1d6b55d02', 4, 'EMQHTMMvViAB5BdYj0E6')
RETURNING id;
waar id
moet door de naam van de gegenereerde sleutelkolom.
Deze benadering behandelt invoegingen met meerdere waarden en INSERT INTO ... SELECT ...
correct, en zal geen problemen hebben met triggers die sequenties aanraken.
Als u een op functie-aanroep gebaseerde benadering moet gebruiken, gebruik dan in ieder geval currval('tablename_id_seq')
(door de juiste volgordenaam door te geven) in plaats van lastval
.