0

我有这样的表:

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

我想在这个表中插入一些东西(我想保留employer为默认值,-1):

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

但我的 PostgreSQL 9.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

将默认值设为空。好吗?

employer INTEGER DEFAULT null
于 2012-11-01T18:17:18.020 回答