Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 删除受其他查询影响的记录_Mysql - Fatal编程技术网

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