postgresql 在SQL中向自引用表中插入值

y4ekin9u  于 2023-06-29  发布在  PostgreSQL
关注(0)|答案(1)|浏览(120)

我用这个T-SQL创建了一个表:

CREATE TABLE Employee
(
    Mgrno VARCHAR(10),
    Empno VARCHAR(10) PRIMARY KEY NOT NULL,
    EmpName VARCHAR(50),
    Department VARCHAR(20),
    Email VARCHAR(50) UNIQUE NOT NULL,
    Phone VARCHAR(20),

    CONSTRAINT Employeefk 
        FOREIGN KEY (Mgrno) REFERENCES Employee 
);

INSERT INTO Employee (mgrno, empno, empname, department, email, phone)
VALUES ('B1205', 'A1206', 'deborah', 'Engineering', 'debs@aol.com', '234567);

但是我收到了这个错误消息-我需要帮助-请...
错误:表“employee”中不存在键(mgrno)=(B1205)。在表“employee”上插入或更新违反外键约束“employeefk”
错误:在表“employee”上插入或更新违反外键约束“employeefk”
SQL状态:23503
详细信息:表“employee”中不存在键(mgrno)=(B1205)。
我已经删除并重新创建了该表-但仍然得到相同的结果

suzh9iv8

suzh9iv81#

在插入具有特定mgrno的行之前,必须插入具有该empno的行,否则将违反外键约束。
因此,首先插入一行,其中mgrno为NULL,empno'B1205'

相关问题