簡體   English   中英

如何了解MySQL是否已更新或插入

[英]How to understand if MySQL updated or inserted

這似乎是一個簡單的問題,但Google似乎找不到太多的話題。

出於緩存的原因,我想運行查詢以使用戶喜歡某些東西:

INSERT INTO tbl_review_vote (user_id,review_id,vote) VALUES(:uid,:rid,:vote) ON DUPLICATE KEY UPDATE vote=:vote

但是從服務器響應中了解是否插入或更新了likes ,這樣我就可以將likes預先匯總到用戶評論記錄中。

有這樣做的好方法嗎?

使用ON DUPLICATE KEY UPDATE,如果將行作為新行插入,則每行的受影響行值為1;如果更新現有行,則為2。 然后,您可以查看mysql的LAST_INSERT_ID()和API的last_insert_id之間的區別,以確定它是插入還是更新。

另一種查看其含義的方法是添加一個update_count列,該列隨查詢的增加而遞增: update_count = update_count + ; 或沒有ON UPDATE CURRENT_TIMESTAMPtimestamp

嘗試以下php函數:

mysql_affected_rows()或mysqli_affected_rows()

暫無
暫無

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

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