如何删除今天创建的所有记录



我正在处理一个非常大的数据库,大约有600万条记录。我今天新增了约30000条不良记录。如何删除MySQL中今天创建的所有记录?

似乎created_at是一个日期时间。尝试:

delete from table
where date(created_at) = curdate()

当然,在运行此查询之前运行select *,并确保要删除的数据是您真正想要删除的数据。

条件

WHERE created_at >= '2012-03-25' 
  AND created_at < '2012-03-26'

可以用于识别行(并且如果在created_at上存在索引,则可以非常有效地)。

在删除之前,请确保备份了表(或者更好的是,备份了整个数据库)。此外,在从表中删除行之前,您可以使用一些(临时或置换)表来存储行。然后,当你确定你已经删除了有问题的数据时,你就删除了这个临时表——而不是其他:

CREATE TABLE wrong_data AS
  SELECT *
  FROM tableX
  WHERE created_at >= '2012-03-25' 
    AND created_at < '2012-03-26' ;
DELETE t
FROM tableX AS t
  JOIN wrong_data AS w
    ON w.PK = t.PK ;

DELETE来自桌子其中((DAY(CallDate)=DAY(GETDATE())以及(MONTH(CallDate)=MONTH(GETDATE())以及(YEAR(CallDate)=YEAR(GETDATE()))

请尝试以下操作:

delete from table
where left(created_at,10) =curdate()

相关内容

  • 没有找到相关文章

最新更新