欢迎使用CSDN-markdown编辑器

奇葩BUG–ID唯一性没约束

发现:页面显示相同的两条记录(2组4条),
过程:确认数据库没有相同2条记录,查找sql语句的错误,
语句如下:

SELECT
*
FROM
(
SELECT
row_.*, ROWNUM rownum_
FROM
(
SELECT
om. ID,
c.cph CPH,
b.mc BXGSMC,
B. ID BXGSID,
om.createdate,
r.xm ywyname,
T .tdmc tdmc,
z.bxdlgsmc BDGSMC,
ob.JQXBDH,
ob.SYXBDH,
OB.JQX,
OB.CCS,
OB.SYXBF,
successywy.xm sname,
failywy.xm fname,
issuedywy.xm iname
FROM
order_bxgsid ob
RIGHT JOIN order_main om ON ob.orderid = om. ID
LEFT JOIN car_info c ON c. ID = om.clid
LEFT JOIN ryb r ON r. ID = om.ywyid
LEFT JOIN ryb successywy ON successywy. ID = ob.successywyid
LEFT JOIN ryb failywy ON failywy. ID = ob.failywyid
LEFT JOIN ryb issuedywy ON issuedywy. ID = ob.issuedywyid
LEFT JOIN zzjg z ON z. ID = r.bxdlgsbh
LEFT JOIN td T ON T . ID = r.tdbh
LEFT JOIN bxgs b ON b. ID = ob.bxgsid
WHERE
1 = 1
AND r.bxdlgsbh = 1
AND ob.handlestatus = ‘0’
ORDER BY
om.createdate
) row_
WHERE
ROWNUM <= 100
) table_alias
WHERE
table_alias.rownum_ >= 1

发展:以为是right join导致的错误,倒腾半天无果,然后开始删除附表的left join,发现删除后显示正常,遂认为某个left join 有问题, 然后逐条删除,发现错误发生在 car_info表,(LEFT JOIN car_info c ON c. ID = om.clid),苦思不得解;

结局:最后实在没招,看了下该主表的clid(om.clid),手动到car_info表里查询,发现 car_info 中 id = 1 的记录居然有两条删除一条 问题解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值