2015-02-10 113 views
0

我的查詢應該如何,如果我想UPDATE只有最後一個Datetime記錄?我的表格中有stamp_in & stamp_out更新最新「日期時間」

隨着我的查詢,我更新stamp_out$datetime_now所有字段。

使用PHP我將它過濾爲僅更新「Today」的日期。但是,如果同一天有多條記錄,則所有記錄都會更新!我該如何解決這個問題?

PHP

$query = "UPDATE usr_time_reg 
      SET usr_stamp_out = :datetime_now, usr_stamp_status = :usr_stamp_status 
      WHERE usr_stamp_in LIKE :date_now"; 
      //LIMIT LATEST usr_stamp_in 
+0

你試過'LIMIT 1'和'ORDER BY usr_stamp_in DESC'? – empiric 2015-02-10 14:01:43

+0

如果有多條記錄,您需要找到一種方法來選擇最新的商品。如果刪除最新項目很重要,請存儲時間戳而不是日期。 – jarlh 2015-02-10 14:02:07

+0

@empiric完美!奇蹟般有效。謝謝! – d00rman 2015-02-10 14:13:02

回答

0

正確的查詢應該是:

PHP

$query = "UPDATE usr_time_reg 
      SET usr_stamp_out = :datetime_now, usr_stamp_status = :usr_stamp_status 
      WHERE usr_stamp_in LIKE :date_now 
      ORDER BY usr_stamp_in DESC LIMIT 1;