可能重复:
列 'mary' 不存在
我需要通过检查约束检查列可以接受的值。我需要使用检查约束,因为这是大学作业。
我使用此代码创建约束并将其添加到表中。
CREATE TABLE Ereignis(
E_Id Serial PRIMARY KEY,
Typ varchar(15),
Zeitpunkt timestamp,
Ort varchar(32),
Anzahl_Pers int
);
ALTER TABLE Ereignis ADD
CONSTRAINT typ_ch CHECK (Typ in (’Verkehrsunfall’, ’Hochwasser’, ’Sonstiges’));
这是我得到的错误:
ERROR: column "’verkehrsunfall’" does not exist
当我从这个错误中得到它尝试将列 typ 与列 verkehrsunfall 进行比较时,当我尝试检查列 try 可以获得的值时,它是 ('Verkehrsunfall', 'Hochwasser', 'Sonstiges') 字符串之一。
这与我们的讲师在讲座中向我们展示的语法完全相同。我不确定是否可以将 varchars 与检查进行比较?或者我做错了什么?
以下是讲座中的示例:
CREATE TABLE Professoren
(PersNr INTEGER PRIMARYKEY,
Name VARCHAR( 3 0 ) NOT NULL ,
Rang CHAR(2) CHECK (Rang in ('C2' ,'C3' ,'C4')) ,
Raum INTEGER UNIQUE) ;