Mysql
 sql >> Base de données >  >> RDS >> Mysql

Obtenir le nombre de lignes insérées pour l'insertion multiple ON DUPLICATE KEY UPDATE ?

Le nombre d'insertions serait de 2000 moins le nombre de lignes affectées. Plus généralement :

(numberOfValuesInInsert * 2) - mysql_affected_rows()

MODIF :

Comme tomas souligne , La documentation MySQL dire en fait :

[c'est moi qui souligne]

Par conséquent, si la définition d'une ligne existante sur les mêmes valeurs est une possibilité, il est impossible de dire combien de lignes ont été mises à jour par rapport à insérées, car deux insertions seraient indiscernables d'une mise à jour avec des valeurs différentes + une mise à jour avec les mêmes valeurs.