ora 违反唯一约束条件错误 !!急啊!各位帮忙

susan_meng 2012-08-16 11:36:40
我的更新语句是这个 “update QS_JLDZB set ny = '',jh = '(第3层)乌201',qx='102夹层枪',db='101队',skfs='测试井别1',sklx='TCP',
flrq='',jhrq='',flr='',jhr='',ch='2051',llr='',jsr='',
rzbz='是',cyc='',dl='射孔枪身(内部)',mc_gg_xh='射孔枪WD95夹层枪身',bz='' where id=638 ”

不知道为什么会出现违反唯一约束条件的错误!!!

ps:我将 id 和mc_GG_xh 联合设置为主键,为什么插入时不报错而更新时报错呢


请大家帮帮忙,谢谢啦
...全文
110 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生无悔 2012-08-16
  • 打赏
  • 举报
回复
還有你的id為638,mc_gg_xh='射孔枪WD95夹层枪身'的記錄在你的表中存在嗎,如果存在肯定有這個錯誤了
可選來看下

select 1 from QS_JLDZB where id=638 and mc_gg_xh='射孔枪WD95夹层枪身';
人生无悔 2012-08-16
  • 打赏
  • 举报
回复
你看下你的哪些列有唯一約束

select constraint_name from user_constraints where table_name='QS_JLDZB' and constraint_type='U';
susan_meng 2012-08-16
  • 打赏
  • 举报
回复
恩恩,我知道错在哪里了,谢谢大家的指点
susan_meng 2012-08-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

還有你的id為638,mc_gg_xh='射孔枪WD95夹层枪身'的記錄在你的表中存在嗎,如果存在肯定有這個錯誤了
可選來看下
SQL code

select 1 from QS_JLDZB where id=638 and mc_gg_xh='射孔枪WD95夹层枪身';
[/Quote]恩,没错是存在啊,但是我这个是更新语句啊,为什么错啊,麻烦详细说一下,谢谢啦
susan_meng 2012-08-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

从SQL语句可以看出:id等于638的记录有多条,所以报错
楼主你自己不是也提到了“id 和mc_GG_xh 联合设置为主键”了吗?
[/Quote]是啊,是将id 和 mc_gg_xh联合设为主键,这样的话不是只有当id和mc_gg_xh都一样的时候才报错吗,现在就只有id是一样的啊,id+mc_gg_xh并不一样,求解!!!!
碧水幽幽泉 2012-08-16
  • 打赏
  • 举报
回复
从SQL语句可以看出:id等于638的记录有多条,所以报错
楼主你自己不是也提到了“id 和mc_GG_xh 联合设置为主键”了吗?
碧水幽幽泉 2012-08-16
  • 打赏
  • 举报
回复
--SQL语句如下:
update QS_JLDZB
set ny = '',
jh = '(第3层)乌201',
qx='102夹层枪',
db='101队',
skfs='测试井别1',
sklx='TCP',
flrq='',
jhrq='',
flr='',
jhr='',
ch='2051',
llr='',j
sr='',
rzbz='是',
cyc='',
dl='射孔枪身(内部)',
mc_gg_xh='射孔枪WD95夹层枪身',
bz=''
where id = 638;


从SQL语句可以看出:id等于638的记录有多条,所以报错。
楼主你自己不是也提到了“id 和mc_GG_xh 联合设置为主键”了吗?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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