这似乎是一个如此简单的问题,但谷歌似乎无法在这个主题上找到太多。
出于缓存的原因,我想运行一个查询,让用户喜欢这样的东西:
INSERT INTO tbl_review_vote (user_id,review_id,vote) VALUES(:uid,:rid,:vote) ON DUPLICATE KEY UPDATE vote=:vote
然后从服务器响应中了解是否插入或更新了类似内容,以便我可以将likes
预先聚合到用户审核记录。
这样做有好办法吗?
答案 0 :(得分:1)
使用ON DUPLICATE KEY UPDATE,如果将行作为新行插入,则每行的受影响行值为1;如果更新现有行,则每行受影响的行值为2。然后,您可以查看mysql的LAST_INSERT_ID()
与API的last_insert_id之间的区别,以确定它是插入还是更新。
另一种查看内容的方法是添加一个update_count
列,该列随您的查询增加:update_count = update_count + ;
,或者timestamp
没有ON UPDATE CURRENT_TIMESTAMP
< / p>
答案 1 :(得分:0)
试试这些php函数:
mysql_affected_rows()函数 要么 mysqli_affected_rows()