在mysql和php中使用insert重复更新时如何知道上次操作是插入还是更新?

时间:2009-08-08 15:52:39

标签: php mysql insert-update

我正在使用PHP和MySQL。

如果我使用INSERT ON DUPLICATE UPDATE SQL语句,那么如何知道上一次操作是否是成功插入而不是更新或不成功插入?

假设是有问题的表没有使用自动增量,所以我不能使用mysql_insert_id来帮助我找出答案。

1 个答案:

答案 0 :(得分:8)

您需要检查mysql_affected_rows(),它将在插入时返回1,在更新时返回2。根据{{​​3}}。

if (mysql_affected_rows() == 1) //INSERT
elseif (mysql_affected_row() == 2) //UPDATE

除非更新没有改变任何内容,否则它将返回0。