这是在特定时间段更新MySQL表的正确方法

时间:2019-04-02 16:15:26

标签: php mysql

我将在特定时间更新MySQL表。实际情况是-付款状态为未付款,它将在15分钟后自动取消。但只能取消超过15分钟的特定付款状态。

我试图仅在特定时间(例如15分钟)内更新mysql表条目。

$sql = "UPDATE payers SET payment_status='Cancel' WHERE 
payment_status=unpaid >= NOW() - INTERVAL 15 MINUTE"; 
if(mysqli_query($conn, $sql)){ 
echo "Record was updated successfully."; 
} else { 
echo "ERROR: Could not able to execute $sql. "  
. mysqli_error($conn); 
}  
mysqli_close($$conn); 

payment_status仅在未付款时间超过15分钟时才需要更新。

1 个答案:

答案 0 :(得分:0)

此SQL应该为您工作:

UPDATE payers
SET payment_status='Cancel'
WHERE payment_status='unpaid'
  AND payment_time <= NOW() - INTERVAL 15 MINUTE

但是,这有一个隐藏的问题:如果某人在提交订单15分钟后付款,该怎么办?他们会付款,但您不会将货物寄给他们。