mysql插入重复键更新知道是否发生了

时间:2012-08-03 17:14:09

标签: mysql perl dbi insert-update on-duplicate-key

在我正在构建的应用程序中,我在重复键更新时使用了大量插入。我的问题是,在我的应用程序中,我需要知道它是插入还是更新,以便我的代码可以做出适当的决定。有谁知道我怎么测试这个?

如果有人知道具体的方法,我正在使用perl的DBI模块。谢谢!

1 个答案:

答案 0 :(得分:5)

根据documentation

  

如果ON DUPLICATE KEY UPDATE,则每行的受影响行值为1   该行将作为新行插入,如果现有行已更新,则为2。

因此,您应该能够检查INSERT .. ON DUPLICATE KEY查询的返回值;如果它是1,则插入行,如果是2,则更新。