0

私はそのようなテーブルを持っています:

CREATE TABLE employee (
    id INTEGER DEFAULT NEXTVAL('ids'::regclass) NOT NULL,
    name CHARACTER VARYING NOT NULL,
    employer INTEGER DEFAULT (-1)
);

そして、このテーブルにsthを挿入したい(employerデフォルトのままにしておきたい、-1):

INSERT INTO employee (name, id) VALUES('Doe', 2);

しかし、私のPostgreSQL9.1は不平を言っています:

ERROR:  insert or update on table "employee" violates foreign key constraint "FK_employer"
DETAIL:  Key (employer)=(-1) is not present in table "employer".

id = -1の雇用主がいないことは知っていますが、それでも、そのようにしたいと思います。この従業員の雇用主を-1に設定したいと思います。postgreSQLでそれは可能ですか?

4

1 に答える 1

2

デフォルトを null にします。いいですか?

employer INTEGER DEFAULT null
于 2012-11-01T18:17:18.020 に答える