您无法指定目标表&fansansal'用于更新FROM子句错误(!)

时间:2018-03-05 01:39:42

标签: mysql mysql-workbench

当我执行此

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

我有这个错误。

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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