我的MySQL表没有AUTO_INCREMENT字段。在PHP中,我运行这个简单的查询:
mysql_query("INSERT INTO table ... ON DUPLICATE KEY UPDATE ....");
我需要能够检测是否将新行插入表中或是否更新了旧行?有可能以某种方式吗?
mysql_affected_rows()
在插入时返回 1(因为它插入了一行),在更新时返回 2(因为它首先尝试插入,然后更新,或类似的东西)。
那是当您只是尝试添加一行时。您也可以在多行插入中使用 ON DUPLICATE KEY UPDATE
子句,然后您将获得所有行的 1 和 2 的总和。