我正在使用PHP和MySQL。
如果我使用INSERT ON DUPLICATE UPDATE
SQL语句,那么如何知道上一次操作是否是成功插入而不是更新或不成功插入?
假设是有问题的表没有使用自动增量,所以我不能使用mysql_insert_id
来帮助我找出答案。
答案 0 :(得分:8)
您需要检查mysql_affected_rows(),它将在插入时返回1,在更新时返回2。根据{{3}}。
if (mysql_affected_rows() == 1) //INSERT
elseif (mysql_affected_row() == 2) //UPDATE
除非更新没有改变任何内容,否则它将返回0。