你不能在FROM子句错误(!)中为更新指定目标表'finansal'

问题描述 投票:-1回答:1

当我执行这个

DELETE FROM finansal WHERE idfinansal=(SELECT MAX(idfinansal) FROM finansal);

我有这个错误。

You can't specify target table 'finansal' for update in FROM clause

如何删除Workbench上的最后一条记录?

mysql mysql-workbench
1个回答
0
投票

您可以尝试将max子查询包装在另一个子查询中作为变通方法:

DELETE
FROM finansal WHERE idfinansal =
    (SELECT max_fin FROM
        (SELECT MAX(idfinansal) AS max_fin FROM finansal) x );

此子查询技巧强制MySQL在运行实际的delete语句之前实现max子查询。相同的方法可用于其他DML操作,例如更新。

© www.soinside.com 2019 - 2024. All rights reserved.