gpt4 book ai didi

mysql - 删除相似记录时我的 SQL 查询出错

转载 作者:行者123 更新时间:2023-11-29 15:33:02 24 4
gpt4 key购买 nike

我已尝试此查询,但此查询出现错误代码 1093

delete  
from flow
where flow.FlowID in (SELECT flow.FlowID
From flow
WHERE ExpirationDate IS NOT NULL AND `Username`="XYZ@gmail.com"
GROUP BY Username, FlowName, EffectiveDate
Having COUNT(*) >1 );

1093 error : Can't specify target table in clause.

最佳答案

这是我对更正版本的建议:

DELETE
FROM flow
WHERE FlowID IN (SELECT FlowID FROM (SELECT FlowID FROM flow
WHERE ExpirationDate IS NOT NULL AND
Username = 'XYZ@gmail.com') t);

此处的删除逻辑是删除 FlowID 还与具有非 NULL 到期日期和用户 XYZ@gmail.com 的记录关联的任何记录。我用来解决 1093 MySQL 错误的技巧是将子查询包装在另一个子查询中。这是通过强制 MySQL 在更新之前具体化该子查询来实现的,因此它不再发生冲突。

关于mysql - 删除相似记录时我的 SQL 查询出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58536218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com