废话不多说,请看代码:
UPDATE
my_return
SET next_settlement_time = date_sub(r_return_day,interval -1 day)
WHERE r_id IN (
SELECT r.r_id
FROM my_borrow_apply b
LEFT JOIN my_return r ON r.b_id=b.b_id
WHERE b.partner_id = 26 and b.fund_id = 183
)
错误:You can't specify target table 'my_return' for update in FROM clause
原因是:修改的表不能在子查询中出现。
正确的写法:
UPDATE
my_return
SET next_settlement_time = date_sub(r_return_day,interval -1 day)
WHERE b_id IN (
SELECT b.b_id
FROM my_borrow_apply b
WHERE b.partner_id = 26 and b.fund_id = 183
)
^ _ ^