我有这样的表:
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);
但我的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?
答案 0 :(得分:2)
使默认值为null。好吗?
employer INTEGER DEFAULT null