簡體   English   中英

MySQL 獲取超過 30 分鍾的數據並執行一些任務

[英]MySQL get data older than 30 minutes and perform some tasks

我正在嘗試制作優惠券系統,但我遇到了一些問題。 我想創建一個函數,從coupon_session 中獲取時間(日期時間)超過30 分鍾的所有數據。 對於每個結果,我想從行中獲取“代碼”,然后我希望它刪除該行。

我已經想出了如何檢索數據,但其余的對我來說有點困難。 你們能幫點忙嗎?

這是我獲取所有 > 30 分鍾舊行的代碼:

mysql_query("GET * FROM `coupon_session` WHERE TIMESTAMPDIFF(MINUTE,time,NOW()) > 30");

獲取所需內容的代碼是:

select cs.code
from coupon_session cs
where time < date_sub(now(), interval 30 minute);

刪除是另一個問題,因為now()的值發生了變化。 您有多種選擇,例如:

  • 獲取要在應用程序中刪除的 id 列表並刪除它們(可能是最安全的方法)。
  • 在您的應用程序中計算“now”,並為selectdelete使用相同的值(也是安全的)。
  • 計算select返回的最長時間,並將其用於后續刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM