繁体   English   中英

PostgreSQL 表不存在

[英]PostgreSQL table does not exist

drop table Employee;   

 CREATE TABLE Employee
    (   EmployeeID integer,
        FirstName varchar(24),
        LastName varchar(24),
        Email varchar(48),
        PhoneNumber varchar(12),
        HotelID integer
        PRIMARY KEY (EmployeeID),
    );

    INSERT INTO Employee VALUES (1, ‘James’, ‘Jenkins’, ‘jj@gmail.com’, ’0412181111’, 1);
    INSERT INTO Employee VALUES (22, ‘Roy’, ‘Bond’, ‘jb@gmail.com’, ‘0418246192’, 1);
    INSERT INTO Employee VALUES (14, ‘Rachel’, ‘Green’, ‘rg@gmail.com’, ‘0468129367’, 1);
    INSERT INTO Employee VALUES (96, ‘Eddard’, ‘Stark’, ‘es@gmail.com’, ‘0458192716’, 1);
    INSERT INTO Employee VALUES (77, ‘Anna’, ‘Nguyen’, ‘an@gmail.com’ , ‘0418238694’, 1);

错误:“psql:employee:1: 错误:表“employee”不存在”

修复错误的方法是什么?

如果有人想看,请链接到整个文档: https : //docs.google.com/document/d/1r4E7yz4XJxLmO3rmkH4YBVOGfYN5PkhcDSJUyuy7qxw/edit?usp=sharing

在声明主键之前,您的 create 语句缺少逗号(,)。 因此该表没有被创建。 这个:

CREATE TABLE Employee
(   EmployeeID integer,
FirstName varchar(24),
LastName varchar(24),
Email varchar(48),
PhoneNumber varchar(12),
HotelID integer,
PRIMARY KEY (EmployeeID),
FOREIGN KEY (HotelID) REFERENCES Hotel
);

当您尝试运行上述代码段时,可能尚未在您的数据库中创建Employee表。 在删除表或存储过程或函数之前,始终进行 IF EXISTS 检查。

您的删除查询应该是。

drop table if exists `Employee`; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM