PostgreSql列唯一且不为空

PostgreSql列唯一且不为空,sql,database,postgresql,Sql,Database,Postgresql,我的问题是使列email不为NULL和唯一 ALTER TABLE benutzer ADD email VARCHAR(75) UNIQUE; 很好,但是 ALTER TABLE benutzer ADD email VARCHAR(75) UNIQUE NOT NULL; 或 工作不好:-( 错误是: 费勒:由“空”构成的语法错误 我不理解Postgresql>@BrianDeMilia中的问题。如果您删除了答案,那么说唯一非空等同于主键,实际上是不正确的。只能有一个主键,并且它在信息模

我的问题是使列email不为NULL和唯一

ALTER TABLE benutzer ADD email VARCHAR(75) UNIQUE;
很好,但是

ALTER TABLE benutzer ADD email VARCHAR(75) UNIQUE NOT NULL;

工作不好:-(

错误是:

费勒:由“空”构成的语法错误


我不理解Postgresql>@BrianDeMilia中的问题。如果您删除了答案,那么说
唯一非空
等同于
主键
,实际上是不正确的。只能有一个
主键
,并且它在
信息模式
中标识。因此,
主键
是不可识别的ed
UNIQUE NOT NULL
,反之不正确-
UNIQUE NOT NULL
列不一定是
主键
“ALTER TABLE benutzer ADD email VARCHAR(75)UNIQUE NOT NULL;”对我有效。你看到了什么错误?你真的在使用PostgreSQL吗?请通过编辑你的问题并复制粘贴错误来显示
选择版本
,以及
唯一非空
错误的完整、准确文本。第三个示例中的
、非空
中的逗号肯定是错误的。但是你不能添加NOT NULL列没有默认值。
ALTER TABLE benutzer ADD email VARCHAR(75) UNIQUE ,NOT NULL;