首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL不是空的,而不是空的

问SQL不是空的,而不是空的
EN

Stack Overflow用户
提问于 2011-10-31 07:59:31
回答 2查看 22.2K关注 0票数 21

我正在使用postgreSQL。我有一篇专栏:

代码语言:javascript
复制
NOT NULL

但是,当我想插入一个空字符串的行时,如:

代码语言:javascript
复制
''

它不会给我一个错误和接受。如何检查插入值应该是not empty?(既不空也不空)

PS: My列定义为:

代码语言:javascript
复制
"ads" character varying(60) NOT NULL
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-31 08:07:12

向列定义添加约束。例如:

代码语言:javascript
复制
ads character varying(60) NOT NULL CHECK (ads <> '')

有关更多信息,请参见http://www.postgresql.org/docs/current/static/ddl-constraints.html

票数 27
EN

Stack Overflow用户

发布于 2011-10-31 08:08:32

在postgreSQL的最新文档中可以执行以下操作以实现您想要的结果:

代码语言:javascript
复制
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表达式不能包含子查询,也不能引用当前行列以外的变量。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7951120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档