可能重复:
列'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’));
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
ERROR: column "’verkehrsunfall’" does not exist
Run Code Online (Sandbox Code Playgroud)
当我从这个错误中得到它时,它试图将列typ与列verkehrsunfall进行比较,在那里我尝试检查列try尝试得到的值是('Verkehrsunfall','Hochwasser','Sonstiges')字符串之一.
这与讲师在讲座中向我们展示的语法完全相同.我不确定是否可以将varchars与check进行比较?或者我做错了什么?
以下是讲座的例子:
CREATE TABLE Professoren
(PersNr INTEGER PRIMARYKEY,
Name VARCHAR( 3 0 ) NOT NULL ,
Rang CHAR(2) CHECK (Rang in ('C2' ,'C3' ,'C4')) ,
Raum INTEGER UNIQUE) ;
Run Code Online (Sandbox Code Playgroud)