mysql err 1093_解决MySQL报错[Err] 1093 - You can't specify target...

做数据变更的时候经常遇到这样的报错DELETE

FROM

ssq_contract_record

WHERE

LOAN_ID IN (

SELECT

ssq_contract_record.LOAN_ID

FROM

ssq_contract_record

LEFT JOIN loan_info ON ssq_contract_record.LOAN_ID = loan_info.ID

WHERE

ssq_contract_record.CREATE_TIME > '2018-10-30 00:00:00'

AND ssq_contract_record.CREATE_TIME 

AND loan_info.LENDING_TAG = 'SINAP2P'

);

[Err] 1093 - You can't specify target table 'XXX' for update in FROM clause

报错的意思是 你不能在update这张表的同时在from的子查询中出现这张表

解决办法很简单,外面再加一层查询“骗过”MySQL,

改写如下DELETE

FROM

ssq_contract_record

WHERE

LOAN_ID IN (

SELECT

t.loan_Id

FROM

(

SELECT

ssq_contract_record.LOAN_ID

FROM

ssq_contract_record

LEFT JOIN loan_info ON ssq_contract_record.LOAN_ID = loan_info.ID

WHERE

ssq_contract_record.CREATE_TIME > '2018-10-30 00:00:00'

AND ssq_contract_record.CREATE_TIME 

AND loan_info.LENDING_TAG = 'SINAP2P'

) t

);

问题解决!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部