Essayez d'obtenir la requête exécutée par CodeIgniter à l'aide du code suivant :
$this->db->last_query();
Publiez également la requête que vous utilisez pour interagir avec MySQL, juste pour confirmer que la même requête est en cours d'exécution.
CodeIgniter a un hack pour MySQL qui ajuste le rapport des lignes affectées, mais j'avais l'impression que c'était uniquement pour les requêtes DELETE. Si vous regardez system/database/drivers/mysql/mysql_driver.php
ou system/database/drivers/mysqli/mysqli_driver.php
(quel que soit le pilote que vous utilisez et regardez la variable var $delete_hack = TRUE;
. Un ajustement qui pourrait avoir un impact sur votre résultat, cela pourrait-il valoir la peine d'essayer ?