Mysql 删除受其他查询影响的记录
我想删除受此查询影响的所有记录:Mysql 删除受其他查询影响的记录,mysql,Mysql,我想删除受此查询影响的所有记录: SELECT COUNT(Distinct news_id) AS TotalRecords, country FROM upload_news WHERE [upload_time] BETWEEN GetDate()-7 AND GetDate() GROUP BY country 我不知道如何为此编写查询。如果要删除查询中满足谓词的所有行 删除分组依据子句,并将选择替换为删除关键字 但是,这似乎不是MySQL语法。标识符周围的方括号以及GETDAT
SELECT COUNT(Distinct news_id) AS TotalRecords, country
FROM upload_news
WHERE [upload_time] BETWEEN GetDate()-7 AND GetDate()
GROUP BY country
我不知道如何为此编写查询。如果要删除查询中满足谓词的所有行 删除
分组依据
子句,并将选择
替换为删除
关键字
但是,这似乎不是MySQL语法。标识符周围的方括号以及GETDATE()
函数后面的“-7
”使其看起来像SQL Server(Transact-SQL)语法
这将删除指定范围内具有upload\u time
值的upload\u news
中的所有行
DELETE FROM upload_news
WHERE [upload_time] BETWEEN GETDATE()-7 AND GetDate()
您可以用
选择*
替换删除
,这将返回将从上传新闻
表中删除的所有行。请注意,外键约束和/或触发器可能会导致其他表中的行受到影响(删除、更新和/或插入)一个查询无法执行此操作,因为您得到的结果是一个数字(来自COUNT
)。您必须使用另一个查询来完成此操作:DELETE FROM upload\u news,其中[upload\u time]介于GetDate()-7和GetDate()之间。
谢谢@Justin lurman