Re: Behaviour
От | Stephan Szabo |
---|---|
Тема | Re: Behaviour |
Дата | |
Msg-id | 20020718083514.H72400-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | Behaviour (Stéphane Raimbault <raimbault.stephane@free.fr>) |
Список | pgsql-bugs |
On 18 Jul 2002, [ISO-8859-1] St=E9phane Raimbault wrote: > Hi, > > I have the following tables : > CREATE TABLE tournee ( > no_tournee SERIAL PRIMARY KEY); > > CREATE TABLE fab_tournee ( > id SERIAL PRIMARY KEY, > id_fab INTEGER REFERENCES fabrication ON DELETE CASCADE, > no_tournee INTEGER REFERENCES tournee ON DELETE CASCADE); > > When I insert a new record into 'fab_tournee' whereas the field > 'no_tournee' doesnt exist in 'tournee', I have this message : > > ERROR: <unnamed> referential integrity violation - key referenced > from fab_tournee not found in tournee > > but 'id' increments in 'fab_tournee'. > > Is it a normal behaviour ? Yes. SERIAL uses a sequence for doing its value choice (it's effectively similar to an integer column with a default) and sequences do not rollback with transactions (due to concurrency concerns). You can find more info about this in the archives.
В списке pgsql-bugs по дате отправления: