我正在使用 PHP 和 MySQL。
如果我使用INSERT ON DUPLICATE UPDATE
SQL 语句,那么我如何知道最后一个操作是成功插入而不是更新或插入不成功?
假设是有问题的表格不使用自动增量,所以我不能用 amysql_insert_id
来帮助我找出答案。
我正在使用 PHP 和 MySQL。
如果我使用INSERT ON DUPLICATE UPDATE
SQL 语句,那么我如何知道最后一个操作是成功插入而不是更新或插入不成功?
假设是有问题的表格不使用自动增量,所以我不能用 amysql_insert_id
来帮助我找出答案。
您需要检查 mysql_affected_rows() ,它将在插入时返回 1,在更新时返回 2。根据mysql 文档。
if (mysql_affected_rows() == 1) //INSERT
elseif (mysql_affected_row() == 2) //UPDATE
除非更新没有改变任何东西,在这种情况下它将返回 0。