概括
我需要从超过 14 天的行中清除表的历史记录。
由于不是 MySQL 专家,我的搜索导致我这样做:
delete
from SYS_VERROUS_POLICE
where idModificationPolice not in (
select distinct idModificationPolice
from SYS_VERROUS_POLICE
where date(dateHeureModification)
between curdate() and curdate() - interval 14 day
);
抛出异常
但是后来我遇到了这个错误消息:
错误代码:1093。您不能在 FROM 子句中指定目标表 'SYS_VERROUS_POLICE' 进行更新。
什么...
语境
MySQL 似乎在安全模式下运行,所以我无法在匹配日期的地方执行 DELETE。
在安全模式下,如果我尝试仅使用日期字段进行删除,则不符合要求。
delete
from SYS_VERROUS_POLICE
where date(dateHeureModification) < curdate() - interval 14 day
Error Code: 1175. You are using safe update mode and you tried to update a table without a
WHERE that uses a KEY column
To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
0,00071 sec
我错过了什么吗?