如何在PHP中查找查询的哪一部分“插入..在重复键更新时.“成功了


How to find in PHP which part of the query "INSERT ... ON DUPLICATE KEY UPDATE..." succeeded?

我的MySQL表没有AUTO_INCREMENT字段。在PHP中,我运行这个简单的查询:

mysql_query("INSERT INTO table ... ON DUPLICATE KEY UPDATE ....");

我需要能够检测是否将新行插入表中或是否更新了旧行?有可能以某种方式吗?

mysql_affected_rows()

插入时返回 1(因为它插入了一行),在更新时返回 2(因为它首先尝试插入,然后更新,或类似的东西)。

那是当您只是尝试添加一行时。您也可以在多行插入中使用 ON DUPLICATE KEY UPDATE 子句,然后您将获得所有行的 1 和 2 的总和。