sql >> Base de Datos >  >> RDS >> Mysql

MySQL en actualización de clave duplicada + recuento de filas afectadas

Creo que es imposible sin más información; no es suficiente solo con el recuento de filas que está a punto de insertar y las filas afectadas.

mysqli->info devuelve una cadena útil que también proporciona un recuento duplicado; podemos calcular el resto a partir de esto.

list($rec, $dupes, $warns) = sscanf($mysqli->info, "Records: %d Duplicates: %d Warnings: %d"); // courtesy of user at big lake dot com - php.net
$inserts = $total_rows_affected - ($dupes * 2);
$updates = ($total_rows_affected - $inserts)/2;     
$skipped = $rec - ($inserts + $updates);     
$total = $rec;