From: | "Oliveiros Cristina" <oliveiros(dot)cristina(at)marktest(dot)pt> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org>, "Harald Fuchs" <hari(dot)fuchs(at)gmail(dot)com> |
Subject: | Re: Composite primary keys |
Date: | 2009-06-23 15:32:01 |
Message-ID: | 070201c9f417$c0e29630$ec5a3d0a@marktestcr.marktest.pt |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Howdy!
When you say that pg accepts "this" silently instead of complaining what are
you referring to exactly?
First Insert? Why wouldn't it work after all ?
What will happen is that when you try to insert a new record without
specifying the id column you'll get an error informing that
primary key constraint is being violated. But IMHO the first INSERT is legal
SQL....
Best,
Oliveiros
----- Original Message -----
From: "Harald Fuchs" <hari(dot)fuchs(at)gmail(dot)com>
To: <pgsql-sql(at)postgresql(dot)org>
Sent: Tuesday, June 23, 2009 4:14 PM
Subject: [SQL] Composite primary keys
>I tried to throw some invalid SQL to PostgreSQL and found its reaction
> confusing:
>
> $ psql test
> psql (8.4beta2)
> Type "help" for help.
>
> test=# CREATE TABLE t1 (
> test(# id serial NOT NULL,
> test(# name text NOT NULL,
> test(# PRIMARY KEY (id)
> test(# );
> CREATE TABLE
> test=# CREATE TABLE t2 (
> test(# id int NOT NULL REFERENCES t1,
> test(# language char(3) NULL,
> test(# txt text NOT NULL,
> test(# PRIMARY KEY (id, language)
> test(# );
> CREATE TABLE
>
> Here's my first gripe: PostgreSQL accepts this silently instead of
> complaining.
>
> test=# INSERT INTO t1 (id, name) VALUES (1, 'text 1');
> INSERT 0 1
> test=# INSERT INTO t2 (id, language, txt) VALUES (2, NULL, 'text 1 no
> language');
> ERROR: null value in column "language" violates not-null constraint
>
> And here's my second gripe: although PostgreSQL correctly rejects the
> INSERT it just has ignored my NULL specification.
>
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua Tolley | 2009-06-23 18:44:12 | Re: Composite primary keys |
Previous Message | Tom Lane | 2009-06-23 15:26:59 | Re: Composite primary keys |