-1

我有一个包含 INSERT ..... ON DUPLICATE KEY UPDATE 的过程。

如果 MySQL 中有办法确定插入的总行数和被替换的总行数?

谢谢

4

2 回答 2

1

您可以在查询后使用http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html 。

对于 INSERT ... ON DUPLICATE KEY UPDATE 语句,如果将行作为新行插入,则受影响的行值为 1,如果更新现有行,则值为 2

于 2013-10-11T13:59:45.470 回答
0

您可以使用“记录”和“重复项”来计算。Records是受影响的总行数。Duplicates是更新次数。Records - Duplicates插入的行数也是如此。

例如:

mysql> insert into your_table (...) 
    -> select ... from your_other_table 
    -> on duplicate key update ...;
Query OK, 3 rows affected (0.00 sec)
Records: 2  Duplicates: 1  Warnings: 0

这意味着插入了 1 个新行并更新了 1 个现有行。

于 2013-10-11T14:31:37.503 回答