繁体   English   中英

DB2 9.7上唯一约束的最大大小

[英]Maximum Size of a Unique Constraint on DB2 9.7

我创建了一个表:CREATE TABLE myTable(id int始终以身份标识生成(以1开始,以1为增量,没有缓存)主键,pcdurl varchar(2000)NOT NULL)

我想使pcdurl属性成为唯一约束。

但是我收到一个SQL 633错误。 我猜是因为大小超出了允许的最大数量。 我的第一个问题是这个数字是多少?

此处的数字是255-n,其中n是允许为空值的列数。

但是我也在此页面上阅读:“ UNIQUE约束中的最大合并列长(通过UNIQUE索引支持,以字节为单位)8192”

因此,我的第二个问题是如何在保持属性为唯一键约束的同时克服此问题

提前非常感谢你

本质上,您将必须找到pdcurl的较小表示pdcurl以便您对该表示形式实施唯一约束。

您可以有一个附加字段,它是pdcurl哈希值,并使该哈希值成为唯一字段。 根据散列函数,发生碰撞的可能性很小(可能很小 )。 但是,它将始终防止重复。

或者,您可能会发现所有的URL都以相同的路径开头,因此用.\\替换该部分?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM