我正在使用 PostgreSQL,并希望阻止某些必需的 CHARACTER VARYING (VARCHAR) 字段允许空字符串输入。
这些字段还需要包含唯一值,因此我已经使用了唯一约束;但是,这并不能阻止原始(唯一)空值。
基本示例,其中用户名需要唯一且不为空
| id | username | password |
+----+----------+----------+
| 1 | User1 | pw1 | #Allowed
| 2 | User2 | pw1 | #Allowed
| 3 | User2 | pw2 | #Already prevented by constraint
| 4 | '' | pw2 | #Currently allowed, but needs to be prevented
Use a 检查约束 http://www.postgresql.org/docs/current/interactive/ddl-constraints.html#AEN2410:
CREATE TABLE foobar(
x TEXT NOT NULL UNIQUE,
CHECK (x <> '')
);
INSERT INTO foobar(x) VALUES('');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)