关闭

MySQL 去重修改 :You can't specify target table 's' for update

146人阅读 评论(0) 收藏 举报
分类:

Err] 1093 - You can’t specify target table ‘s’ for update in FROM clause

执行SQL语句时出现这个错误。原因是在更新这个表和数据时又查询了它,而查询的数据又做了更新的条件。

解决方法:

把要更新的几列数据查询出来做为一个第三方表,然后筛选更新。
UPDATE V_INPATIENTS s
SET s.STATUS = “out”
WHERE
s.MRN IN(
SELECT
a.MRN
FROM
(SELECT
MRN ,
ORGAN_CODE ,
SERIES ,
PATIENT_ID
FROM
V_INPATIENTS ) a
GROUP BY
a.MRN ,
a.ORGAN_CODE ,
a.SERIES ,
a.PATIENT_ID
HAVING
count(*) > 1
)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:23606次
    • 积分:781
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:36篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论