[fpc-pascal] Re: How to insert a record and get the primary keywith sqldb?
Mark Morgan Lloyd
markMLl.fpc-pascal at telemetry.co.uk
Mon Oct 24 12:12:24 CEST 2011
michael.vancanneyt at wisa.be wrote:
>> Before MySQL 5.0.12 last_insert_id returns table 2, since 5.0.12 table 1.
>> Triggers were introduced in 5.0.2.
>>
>> SQLServer's SCOPE_IDENTITY() returns table 1 (the trigger is out of
>> scope)
>> and @@IDENTITY returns 2.
>
> This mess is why I prefer sequences :-)
:-) I had to tackle this one with PostgreSQL about ten years ago. I
don't know whether sequences weren't implemented at the time or if I was
simply too unfamiliar with the system to get things working, but I ended
up generating a random primary key in the (Delphi) program that was
committing the data and relying on the server to reject it if not unique.
A minor warning about Postgres's serial type: if the table is cleared
the underlying sequence isn't automatically reset. That might or might
not be what's needed/expected.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the fpc-pascal
mailing list