我有一个包含 INSERT ..... ON DUPLICATE KEY UPDATE 的过程。
如果 MySQL 中有办法确定插入的总行数和被替换的总行数?
谢谢
您可以在查询后使用http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html 。
对于 INSERT ... ON DUPLICATE KEY UPDATE 语句,如果将行作为新行插入,则受影响的行值为 1,如果更新现有行,则值为 2
您可以使用“记录”和“重复项”来计算。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 个现有行。