【发布时间】:2020-02-10 06:39:44
【问题描述】:
我有一个我独立创建的表,主键设置为序列类型和应用于表的序列,但是当我尝试插入一个值时,抛出一个 NULL CONSTRAINT 错误,并且返回看起来像 null 是通过了,我是不是在 INSERT 语句中遗漏了什么?
生成表的 SQL:
DROP TABLE IF EXISTS public."Team" CASCADE;
CREATE TABLE public."Team" (
"IdTeam" serial PRIMARY KEY,
name text NOT null,
CONSTRAINT "pKeyTeamUnique" UNIQUE ("IdTeam")
);
ALTER TABLE public."Team" OWNER TO postgres;
DROP SEQUENCE IF EXISTS public."Team_IdTeam_seq" CASCADE;
CREATE SEQUENCE public."Team_IdTeam_seq"
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE public."Team_IdTeam_seq" OWNER TO postgres;
ALTER SEQUENCE public."Team_IdTeam_seq" OWNED BY public."Team"."IdTeam";
插入的 SQL:
INSERT INTO public."Team" (name) values ('Manchester Untited');
返回错误:
ERROR: null value in column "IdTeam" violates not-null constraint
DETAIL: Failing row contains (null, Manchester Untited).
SQL state: 23502
【问题讨论】:
标签: sql postgresql