免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11699 | 回复: 8
打印 上一主题 下一主题

informix数据库报 SQLCODE -239错,但检查并没有重复记录,求救! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-28 00:16 |只看该作者 |倒序浏览
报错如下:
05/27/2008 22:52:01.328 APP      SQLERROR in CLOSE CURSOR, SQLCODE -239:Could not insert new row - duplicate value in a UNIQUE INDEX
column.

05/27/2008 22:52:01.328 APP      ISAM -100: ISAM error:  duplicate value for a record with unique key.

05/27/2008 22:52:01.768 APP      ifxRollBack
05/27/2008 22:52:01.768 ERROR    SUSPEND ERROR:-239,CLOSE INSERT CURSOR
CStoreDfsDno.ecpp:254

-239        不能插入新行 — 在UNIQUE INDEX字段中有重复值。

正在被插入(或修改具有新的主键)的行在限制必须有唯一值的字段中,包含已经存
在的某些行的重复值。该行不能被插入。滚回当前事务处理,没有任何重复行后再执
行它。

这个意思是不是说 表里面数据有完全重复?还是个别字段重复导致不能insert!救急!各位大虾看看有什么办法.重建过表没用
起初认为是如某个表的数据问题 但把数据截掉后 还有有这种报错!

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
2 [报告]
发表于 2008-05-28 10:33 |只看该作者
- duplicate value in a UNIQUE INDEX column.
请检查下表结构就知道了...使用unique index的字段应该不多..

论坛徽章:
0
3 [报告]
发表于 2008-05-31 13:39 |只看该作者
ddddddddddddddd

论坛徽章:
0
4 [报告]
发表于 2008-06-16 14:14 |只看该作者
要求唯一性的列有重复值。

论坛徽章:
0
5 [报告]
发表于 2008-06-16 23:42 |只看该作者
这个问题太明显了,如果不是你错了就是informix错了,好好检查一下,我希望你是对的

论坛徽章:
0
6 [报告]
发表于 2008-07-13 18:30 |只看该作者

回复 #1 zhou5526 的帖子

检查一下表是否有触发器,可能触发器更新另外的表导致锁表

论坛徽章:
0
7 [报告]
发表于 2009-01-07 10:32 |只看该作者
这两天我也被这个问题给缠住了。
我是要实现一次更新多条数据,然后就报那个错了。我只是要更新啊,又不是插入,闹不明白错在哪了

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
8 [报告]
发表于 2009-01-07 11:02 |只看该作者
原帖由 lrg223 于 2009-1-7 10:32 发表
这两天我也被这个问题给缠住了。
我是要实现一次更新多条数据,然后就报那个错了。我只是要更新啊,又不是插入,闹不明白错在哪了


update后的值跟原有值冲突呗~

论坛徽章:
0
9 [报告]
发表于 2009-01-08 14:26 |只看该作者

回复 #7 lrg223 的帖子

这个问题应该是informix约束条件检查时候所导致的问题,你在做update动作前加这么一条语句:
SET CONSTRAINTS ALL DEFERRED;
###Deferred checking is also used when you need to switch the primary-key values for two or more rows in
a table.
这样应该就可以了,希望对你的程序能有所帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP