具有 NULL 值的 DashDB DB2 UNIQUE

Posted

技术标签:

【中文标题】具有 NULL 值的 DashDB DB2 UNIQUE【英文标题】:DashDB DB2 UNIQUE with NULL values 【发布时间】:2017-01-18 17:01:01 【问题描述】:

似乎无法声明 NULLABLE 列并创建 UNIQUE 约束。 有没有办法处理这种情况? 我需要一个可以包含 NULL 值或 UNIQUE 值的列。 也许触发器可以做到这一点? 谢谢

我正在使用 DashDB

【问题讨论】:

【参考方案1】:

您没有提及您的 DB2 平台和版本……这可能会有所作为。

但是尝试添加一个UNIQUE WHERE NOT NULL 索引..

CREATE UNIQUE WHERE NOT NULL INDEX myindex ON mytable (columnn1)

【讨论】:

版本是 IBM Bluemix 云上的 DashDB(不知道具体是哪个版本)。 实际上我注意到我之前写的“索引”的问题中有一个错误,但我的意思是“约束”【参考方案2】:

有可能 - 查看选项

排除空键

在 CREATE INDEX 语法中here

【讨论】:

实际上我注意到我之前写的“索引”的问题中有一个错误,但我的意思是“约束” 目前您无法使用唯一约束来执行此操作。但是,由于唯一约束是一种逻辑构造(其物理实现是通过唯一索引强制执行的),因此按照@MichaelTiefenbacher 的建议创建唯一索引将产生相同的效果。

以上是关于具有 NULL 值的 DashDB DB2 UNIQUE的主要内容,如果未能解决你的问题,请参考以下文章

DSX“帮助:找不到 IBM dashDB/DB2 的 JDBC 驱动程序。”

dashDB 上的数据库诊断信息

Derby 对 NULL 值的处理

使用 DB2onCloud(aka dashDB for Transactions)HA 计划时启用自动客户端重新路由以获得可用性

基于 MySQL、H2 和 DB2 列子集的具有唯一值的 SELECT

如何为 db2 Sql 中的每一列汇总不具有空值的记录?