在 MySQL 上,这不会运行:
delete from robottinosino where date = (select max(date) from robottinosino);
错误信息:
ERROR 1093 (HY000): 您不能在 FROM 子句中指定目标表 'robottinosino' 进行更新
问题:
- 为什么?(强调“为什么”,所以 Q 不会被错误地标记为“重复”)
- 如何解决?
在 MySQL 上,这不会运行:
delete from robottinosino where date = (select max(date) from robottinosino);
错误信息:
ERROR 1093 (HY000): 您不能在 FROM 子句中指定目标表 'robottinosino' 进行更新
问题:
MySQL 不允许您从您也从中选择的表中删除。在许多情况下,这是一种竞争条件——您可能在查询的选择部分有机会检索它们之前从表中删除记录。
在您的情况下,应该允许查询,因为这场比赛没有任何危险,但 MySQL 不够聪明,无法解决这个问题。
这里有一个解决方法:MySQL 错误 1093 - 无法在 FROM 子句中指定要更新的目标表