飘下~问一个primary key的问题

Cincat 2009-07-15 04:41:35
在写xml的时候,创建了一个table,有4列,4列都很重要,组合在一起才能作为primary key进行唯一标识。
数据库连得是DB2,可是在调用的时候出了这样的错:
[IBM][CLI Driver][DB2/NT] SQL0613N 由 "PK_SR_DEPENDENCY" 标识的主键或唯一键太长或者列数太多。 SQLSTATE=54008
查了SQL0613N相关infomation, 说是在 PRIMARY KEY 子句或 UNIQUE 子句中由 名称 标识的列的内部长度总和超过了索引键长度限制或者列数超过了最大值 64。

3列就可以,可我现在需要4列。。。求教我该怎样做才能实现4列的primary key呢?
SOS~~~~~~急-_-||

create table dependency_table (
from_id int not null,
to_id int not null,
description varchar(1024) not null,
host_name varchar(255) not null,
constraint pk_sr_dependency primary key (from_id, to_id,
description, host_name))
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cincat 2009-07-16
  • 打赏
  • 举报
回复
呃。。。。知道是怎么回事了。。。。
4列总长度。。。不是title总长。。。
又傻了一次-_-||好小白····

1024已经是极限了。。。又加了个255。。。
还有int。。。。

呃。。。。不要叫我兄弟。。。偶是mm。。。

anyway,非常感谢楼上的各位~~

呵呵,散分~~^_^
liyan93834183 2009-07-16
  • 打赏
  • 举报
回复
不是四列不允许,是总长度不允许
quiettown 2009-07-15
  • 打赏
  • 举报
回复
db2不允许在超出1024长度上建立索引也是有目的的,这样的索引维护成本太高。
quiettown 2009-07-15
  • 打赏
  • 举报
回复
兄弟,那三个列做主键也还说的过去,但description这个东东有必要么?一般复杂的主键俄个人更宁愿做个新列(SEQUENCE)来做主键。。。
Cincat 2009-07-15
  • 打赏
  • 举报
回复
呃。。。这里怎么用index呢?。。。
补充一下。。因为要实现多server可以同时访问database,而且要区分每一个server的记录。。

~~>_<~~~
chenjialin2000 2009-07-15
  • 打赏
  • 举报
回复
主键最好是没有意义的值,像这种情况可以创建唯一索引
很大一方面也是索引维护费用太高

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧