繁体   English   中英

如何通过时间戳删除Mysql条目?

[英]How delete Mysql entry by timestamp?

我是Noob,正在完成一个具有简单MySQL数据库的网站,该数据库包含评论和日期。 我希望能够按日期删除评论。 日期字段信息是字段=日期,类型=时间戳,空=否,默认= Current_Timestamp和Extra =更新时的CURRENT TIMESTAMP。 出于显示目的,这非常有用,因为该页面最终显示为Review 1-June 1,Review 2-June 2,Review 3-June 7(日期在DB中保存为2019-06-07 03:16:18)。 因此,我决定在终端中删除以下行,摆脱最近的评论。 令我惊讶的是,它删除了我的整个数据库。 是因为额外的列。 我能理解的简单答案胜于我无法理解的聪明答案。 我已经读了一堆页面(这是我获得语法的方式)和这里的几篇文章,但仍然不知道正确的语法或为什么会出现意外的行为。

DELETE FROM Posts where Date > 2019-06-06

您是否可以尝试将日期括在``''中,例如'2019-06-06'。 我也相信您应该使用时间戳格式。 在DB2中,它是YYYY-MM-DD HH:MM:SS.uuuuuu,但是在MSSQL中,它是YYYY-MM-DD HH:MM:SS.uuuu。 不确定mySql是什么,但是可以尝试使用'2019-06-06 00:00:00.000'或'2019-06-06 00:00:00.000000'

现在,如果可行,并且由于这是时间戳记,请尝试将where子句更改为

日期介于“ 2019-06-06 00:00:00.000000”和“ 2019-06-06 00:00:00.000000”之间+间隔1天。 点是1天是一个时间范围。

DELETE FROM Posts where Date > "2019-06-06"

上面的命令将删除2019-06-06之后的所有帖子

不尝试变得聪明,但是我会考虑通过自动增量ID而不是日期来删除最后一行。 使用>删除会给您带来麻烦。

也许像

DELETE FROM table ORDER BY id DESC LIMIT 1

我的简单表格(“帖子”)基本上包含评论和日期。 为了安全地删除2019年5月20日至2019年6月1日之间的条目(即不影响20日或1日的评论),我在MySQL中执行以下操作:

1)检查我输入的内容是否正确:SELECT * FROM Posts WHERE Date <'2019-06-01 00:00:00.000000'AND Date> 2019-05-21 00:00:00 000000'; (这将返回21日午夜中风(因此20日之后)的所有条目)

2)从帖子中删除日期>'2019-05-21 00:00:00.000000 AND DATE <'2019-06-01 00:00:00 000000';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM