我正在使用postgreSQL。我有一篇专栏:
NOT NULL但是,当我想插入一个空字符串的行时,如:
''它不会给我一个错误和接受。如何检查插入值应该是not empty?(既不空也不空)
PS: My列定义为:
"ads" character varying(60) NOT NULL发布于 2011-10-31 08:07:12
向列定义添加约束。例如:
ads character varying(60) NOT NULL CHECK (ads <> '')有关更多信息,请参见http://www.postgresql.org/docs/current/static/ddl-constraints.html
发布于 2011-10-31 08:08:32
在postgreSQL的最新文档中可以执行以下操作以实现您想要的结果:
CREATE TABLE distributors (
did integer PRIMARY KEY DEFAULT nextval('serial'),
name varchar(40) NOT NULL CHECK (name <> '')
);从文件中:
CHECK ( expression )CHECK子句指定一个生成布尔结果的表达式,新行或更新行必须满足该结果才能成功执行insert或update操作。评估为真或未知的表达式成功。如果insert或update操作的任何行产生错误结果,则会引发错误异常,且insert或update不会更改数据库。指定为列约束的check约束应该只引用该列的值,而表约束中出现的表达式可以引用多个列。 当前,CHECK表达式不能包含子查询,也不能引用当前行列以外的变量。
https://stackoverflow.com/questions/7951120
复制相似问题