在线急等 菜鸟级 DB2 数据库问题
我创建了一个表想 通过命令编辑器向 表里插入数据 插入语句为:
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
请高人指导一下 谢谢
[解决办法]
似乎是重复了
[解决办法]
constraint P_Key_1 primary key (exclusivecode)
SQL0803N INSERT 语句、UPDATE 语句或由 DELETE 语句导致的外键更新中的一个或多个值无效,因为由 "1 " 标识的主键、唯一约束或者唯一索引将表 "RENXH.T_DATA_COMPANY "的那些列限制为不能具有重复行。
主建重复啊。。