在线急等 菜鸟级 DB2 数据库问题

rrrxxxhhh 2007-03-15 01:10:29
我创建了一个表想 通过命令编辑器向 表里插入数据 插入语句为:
insert into t_data_company(exclusivecode , companyname,manager, accountantgeneral , accountant,accountantmanager , writor,address, postcode, phone ,ministryofaudit,writoraccountant ,companyselfcode ,companyuppercode ,HQcompanycode,politicalcode , departmentcode, ubietyarea,economytypecode,vocationaccountantcode,organisemodel, workefficcode , provideagecode,supplycode,registeraccountantattitudetype ,eatablishyear ,reportreason , standbycode ,reporttype , workscale, companycodebefore ,economytype, sharescode,treelevel,companynum,companypayoffnum , companybadnum, payoffgain, badgain, hocklessersixnum, hocklargersixnum, hocklesserzeronum , emptycomnum, companylevel , hindone, hindtwo, hindthree, registeradress , countryandareacode , companystyle , workform, custodytype , state,countrycode , companytype,hindsign, fillnumsign , orignsign,tmpsign,sign , fathernode ,selectsign )values('0000265930','北京北奥有限责任公司 ','陈连芳','陈连芳',' ','张俊湖','盛云枝','北京市朝阳区惠新东街甲2号北奥大厦2106','100029','01084887020 ','北京建宏信会计师事务所有限责任公司','刘书芳','101138105 ','101138105 ','101138105 ','110000','333','110105','9190 ','05','1 ','1 ','1 ','00','3 ','1994 ','0 ','2121211000','0 ','3 ','1011381050','1 ',' ','2 ',1 , 1 , 0 , 8107643.54, 0 , 1 , 0 , 0 , 0 , 01, 0 , 0 , 0 ,'',' ',' ',' ',' ',' ',' ','1 ','0 ',' ',' ','000000',' ','1011381059','0 ');

但总是报错:


DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0803N INSERT 语句、UPDATE 语句或由 DELETE
语句导致的外键更新中的一个或多个值无效,因为由 "1"
标识的主键、唯一约束或者唯一索引将表
"RENXH.T_DATA_COMPANY"的那些列限制为不能具有重复行。 SQLSTATE=23505

SQL0803N INSERT 语句、UPDATE 语句或由 DELETE 语句导致的外键更新中的一个或多个值无效,因为由 "1" 标识的主键、唯一约束或者唯一索引将表 "RENXH.T_DATA_COMPANY "的那些列限制为不能具有重复行。

解释:

INSERT 或 UPDATE 对象表 "<表名>" 被一个或多个UNIQUE
索引约束为在某些列或列组中具有唯一值。另外,父表上的 DELETE
语句导致更新从属表 "<表名>"(该从属表受一个或多个 UNIQUE
索引约束)中的外键。唯一索引可能支持在表上定义的主键或唯一约束。不能处理
语句,因为完成所请求的 INSERT、UPDATE 或 DELETE
语句将导致重复的列值。

另外,若视图是 INSERT 或 UPDATE 语句的对象,则在其上定义视图的表
"<表名>" 会受到约束。

如果 "<索引标识>" 为整数值,则可以通过发出下列查询来从
SYSCAT.INDEXES 中获取索引名:


SELECT INDNAME, INDSCHEMA
FROM SYSCAT.INDEXES
WHERE IID = <index-id>
AND TABSCHEMA = 'schema'
AND TABNAME = 'table'


其中,schema表示 "<表名>" 的模式部分,table表示 "<表名>"
的表名部分。

不能处理该语句。未更改表。

用户响应:

检查由 "<索引标识>" 标识的索引的定义。

对于 UPDATE 语句,确保指定的操作本身与唯一性约束一致。若这样做不显
示错误,则检查对象表内容以确定问题的原因。

对于 INSERT 语句,检查对象表内容以确定在指定的值列表中哪个值违反了
唯一性约束。另一方面,若 INSERT
语句包含了子查询,则该子查询寻址的对象表内容必须与对象表内容相匹配
以确定问题的原因。

对于 DELETE 语句,检查用规则 ON DELETE SET
NULL定义的外键上唯一约束的已标识从属表。此表具有外键列,该外键列包
括在不能设置为 null (因该表的列中已存在 null
)的已标识唯一索引中。

联合系统用户:将拒绝请求的数据源中的问题隔离出来(参阅
问题确定指南 以确定哪个数据源处理 SQL
语句失败),并对先前列示的条件检查索引定义和数据。

sqlcode : -803

sqlstate : 23505

请高人指导一下 谢谢

...全文
1394 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pumawang 2007-03-15
  • 打赏
  • 举报
回复
constraint P_Key_1 primary key (exclusivecode)


SQL0803N INSERT 语句、UPDATE 语句或由 DELETE 语句导致的外键更新中的一个或多个值无效,因为由 "1" 标识的主键、唯一约束或者唯一索引将表 "RENXH.T_DATA_COMPANY "的那些列限制为不能具有重复行。


主建重复啊。。
shaoye7 2007-03-15
  • 打赏
  • 举报
回复
似乎是重复了
rrrxxxhhh 2007-03-15
  • 打赏
  • 举报
回复
这是我建表的语句 没有错误:

create table t_data_company
(
companyid INT,
exclusivecode VARCHAR(200) not null,
excelname VARCHAR(200),
companyname VARCHAR(200),
manager VARCHAR(200),
accountantgeneral VARCHAR(200),
accountant VARCHAR(200),
accountantmanager VARCHAR(200),
writor VARCHAR(200),
address VARCHAR(200),
postcode VARCHAR(6),
phone VARCHAR(50),
ministryofaudit VARCHAR(200),
writoraccountant VARCHAR(200),
companyselfcode VARCHAR(200),
companyuppercode VARCHAR(200),
HQcompanycode VARCHAR(200),
politicalcode VARCHAR(200),
departmentcode VARCHAR(200),
ubietyarea VARCHAR(200),
economytypecode VARCHAR(200),
vocationaccountantcode VARCHAR(200),
organisemodel VARCHAR(200),
workefficcode VARCHAR(200),
provideagecode VARCHAR(200),
supplycode VARCHAR(200),
registeraccountantattitudetype VARCHAR(200),
eatablishyear VARCHAR(200),
reportreason VARCHAR(200),
standbycode VARCHAR(200),
reporttype VARCHAR(200),
workscale VARCHAR(200),
companycodebefore VARCHAR(200),
economytype VARCHAR(200),
sharescode VARCHAR(200),
treelevel VARCHAR(200),
companynum INT,
companypayoffnum INT,
companybadnum INT,
payoffgain FLOAT,
badgain FLOAT,
hocklessersixnum INT,
hocklargersixnum INT,
hocklesserzeronum INT,
emptycomnum INT,
companylevel INT,
hindone INT,
hindtwo INT,
hindthree INT,
registeradress VARCHAR(200),
countryandareacode VARCHAR(200),
companystyle VARCHAR(200),
workform VARCHAR(200),
custodytype VARCHAR(200),
state VARCHAR(200),
countrycode VARCHAR(200),
companytype VARCHAR(200),
hindsign VARCHAR(200),
fillnumsign VARCHAR(200),
orignsign VARCHAR(200),
tmpsign VARCHAR(200),
sign VARCHAR(200),
fathernode VARCHAR(200),
selectsign VARCHAR(200),
constraint P_Key_1 primary key (exclusivecode)
);

5,888

社区成员

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

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