亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查詢時間戳列早于 X 小時的數據庫行

查詢時間戳列早于 X 小時的數據庫行

PHP
一只甜甜圈 2022-10-14 10:09:36
我在 MySQL 數據庫表中有一堆行,最后一次修改時記錄了last_update (TIMESTAMP) 字段。截至目前,我每 300 秒循環遍歷所有行并檢查是否已經過去了 3 多個小時,如果是,則更新該行。    $update_delay = 180;    $table_name = $wpdb->prefix . "products";    $results = $wpdb->get_results( "SELECT id, prod_id, last_update FROM $table_name" );    foreach ($results as $result)    {        $last_update = $result->last_update;        if (time() - strtotime($last_update) > $update_delay * 60)        {由于這效率低下,我想只查詢時間戳超過 3 小時的行。由于該字段的格式為“2020-03-01 23:22:06”,我想我可以執行以下操作,但不確定是否可以在查詢中使用 INTERVAL 執行此操作,或者是否可以檢查日期反對應該在PHP中。$old_timestamp = date('Y-m-d G:i:s') . "- 3 hours";$results = $wpdb->get_results( "SELECT id, prod_id FROM $table_name WHERE last_update > $old_timestamp" );什么是有效實施這一點的好選擇?
查看完整描述

2 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

我想只查詢時間戳超過 3 小時的行

無需特定的應用程序代碼。MySQL 理解日期算術:

WHERE last_update > NOW() - INTERVAL 3 HOUR


查看完整回答
反對 回復 2022-10-14
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

像這樣的東西?


$old_timestamp = date('Y-m-d G:i:s');

$results = $wpdb->get_results( 

    "SELECT id, prod_id FROM $table_name WHERE last_update > date_add($old_timestamp") -3 hours)

);


查看完整回答
反對 回復 2022-10-14
  • 2 回答
  • 0 關注
  • 96 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號