我有一個包含INSERT ..... ON DUPLICATE KEY UPDATE的過程。如何返回總結果insert和執行INSERT ON DUPLICATE KEY UPDATE時替換
如果在MySQL中有一種方法確定插入的總行數和被替換的總行數?
感謝
我有一個包含INSERT ..... ON DUPLICATE KEY UPDATE的過程。如何返回總結果insert和執行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個現有行被更新。
正確,我需要的功能來提取這些結果,以便我可以將結果插入到夏季數據庫中。我需要存儲更新記錄的數量以及將不同表格中插入的記錄數量。那麼什麼函數返回總記錄?什麼函數返回總重複? – Jaylen
可能的重複http://stackoverflow.com/questions/10925632/getting-number-of-rows-inserted-for-on-duplicate-key-update-multiple-insert – Gryphius