我正在使用以下格式的声明:
insert into $table (field, value) values (:name, :value)
on duplicate key
update value=:value2 into $table (field, value) values (:name, :value)
更新或在我的数据库中插入一行(具有唯一约束),但我还有其他几个查询要做,哪一个应该使用取决于数据是否已插入或更新。 PDO中有没有办法检测发生了哪种情况?
答案 0 :(得分:3)
如果ON DUPLICATE KEY UPDATE,则每行的受影响行值为1 该行将作为新行插入,如果现有行已更新,则为2。
http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
答案 1 :(得分:1)
据我记忆,rowCount将在插入时返回1,在更新时返回2。