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

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

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

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

最佳答案

根据 documentation :

With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if the row is inserted as a new row and 2 if an existing row is updated.

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

关于mysql插入重复键更新知道它是否发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11800300/

相关文章:

mysql - 在 hive 中的 union all 中获得不同的值

php - 如何统计每个病人预约了多少医生?

perl - 如何捕获还需要用户从终端输入的命令的所有输出?

perl - 如何在 Perl 中使用符号引用?

perl - 如何让 CPAN 测试人员加载一个先决条件的开发版本?

php - Left Join 标记表

MySQL-将一个表的行连接为另一个表的列

mysql - 在 Perl 中终止 mysql 查询

mysql - 与简单地将 mysql_auto_reconnect 设置为 1 相比,使用 DBIx::Connector 有什么优势?

mysql - 使用 Perl DBI Mysql 在查询中获取最大行字符长度