簡體   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