删除或者更新一张表中的数据的时候,会出现1093出错。
原因:不能先查出需要更新或者删除表中的某个字段来作为条件。
DELETE
FROM
T_RECTIFICATIONDECLARATION
WHERE
FID IN (
SELECT
FID
FROM
T_RECTIFICATIONDECLARATION
GROUP BY
FID
HAVING
COUNT(FID) > 1
)
解决办法:外面多嵌套一层查询,原先的查询作为子查询。
DELETE
FROM
T_RECTIFICATIONDECLARATION
WHERE
FID IN (
SELECT
a.FID
FROM
(
SELECT
FID
FROM
T_RECTIFICATIONDECLARATION
GROUP BY
FID
HAVING
COUNT(FID) > 1
) a
)