“错误:”INSERT“或”附近“语法错误”PostgreSQL错误

时间:2018-03-16 02:59:47

标签: postgresql pgadmin-4

我是SQL的新手,我试图创建一个表,然后改变表以使用ALTER添加一些约束,最后插入2个员工,一个管理另一个。 我在pgAdmin4中出现此错误“ERROR:语法错误在”INSERT“或附近 如果有人能让我知道我的代码中任何其他明显的问题,那将是很好的

这是表格:

CREATE TABLE employee ( 
    emp_id     integer NOT NULL, 
    first_name varchar(15) NOT NULL, 
    last_name  varchar(15) NOT NULL, 
    manager    integer 
); 

改变了:

ALTER TABLE employee ADD CONSTRAINT unique_emp_id UNIQUE (emp_id);  

ALTER TABLE employee ADD FOREIGN KEY (manager) REFERENCES emp_id;

ALTER TABLE employee ADD CHECK (emp_id != manager)

INSERT INTO employee VALUES
  (1, 'Tom', 'Jones', 2);

INSERT INTO employee (emp_id, first_name, last_name)
  VALUES  (2, 'Dave', 'Smith');

1 个答案:

答案 0 :(得分:1)

外键引用需要提及表,即使是自引用:

ALTER TABLE employee ADD FOREIGN KEY (manager) REFERENCES employee(emp_id);

此外,第一个insert不起作用,因为该表为空,因此外键失败。 insert的顺序错误。您还应列出insert的所有列,即使您认为自己知道这些列。

Here是一个SQL小提琴,其余的语句都有效。