如何使用事务获取重复数


How to get number of duplicates using a transaction?

我的代码:

$transaction = Yii::app()->db->beginTransaction();
    try {
        $command->execute();
        $transaction->commit();
    } catch (Exception $e) {
        $transaction->rollback();
        die($e->getMessage());
    }

我在mysql表中使用索引,所以我如何捕捉实际插入的行数和重复的行数。

假设您的command是多行INSERT IGNORE,那么rows_affected将说明成功插入了多少行。您的代码应该已经知道您试图插入的行数。diff可能是具有"重复键"的行数。

小心。如果使用AUTO_INCREMENT,它可能会增加尝试的行数,从而"烧录"一些id。