您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

PostgreSQL在唯一约束中有多个可为空的列

PostgreSQL在唯一约束中有多个可为空的列

您正在努力与现有的 和 实现 。 这是一个比较三个涉及的RDBS的物理行存储格式的演示

由于Oracle根本不实现NULL行存储中的值,因此NULL无论如何也无法分辨出空字符串与字符串之间的区别。因此,对于 特殊的用例,使用空字符串('')代替NULLPostgres中的值是否明智?

将唯一约束中包含的列定义为NOT NULL DEFAULT '',已解决的问题:

CREATE TABLE example (
   example_id serial PRIMARY KEY
 , field1 text NOT NULL DEFAULT ''
 , field2 text NOT NULL DEFAULT ''
 , field3 text NOT NULL DEFAULT ''
 , field4 text NOT NULL DEFAULT ''
 , field5 text NOT NULL DEFAULT ''
 , CONSTRAINT example_index UNIQUE (field1, field2, field3, field4, field5)
);
SQLServer 2022/1/1 18:34:38 有319人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶