我有一个ATM卡片的数据库,其中包含账户号、卡号、是否被锁定、是否激活和发行日期等字段。账户号和卡号字段不是唯一的,因为旧卡会过期并标记为is_block=Y,新的记录将插入到具有相同卡号、账户号的新行中,is_blocked=N。现在,我需要通过issue_date更新is_blocked/is_activated。
UPDATE card_info set is_blocked='Y' where card_no='6396163270002509'
AND opening_date=(SELECT MAX(opening_date) FROM card_info WHERE card_no='6396163270002509')
但它不允许我这样做,它会抛出以下错误。
1093 - You can't specify target table 'card_info' for update in FROM clause