https://dev.mysql.com/doc /refman/8.0/en/innodb-consistent-read.html
La condition importante est si vous changez les lignes, votre lecture cohérente est "rafraîchie" afin d'inclure la modification que vous venez d'apporter.
Mais si vous mettez à jour, il s'agit toujours de la version la plus récente de la ligne, et non de la version que la lecture cohérente de votre transaction peut afficher. Par conséquent, votre MISE À JOUR peut n'avoir aucun effet net, si une autre transaction a déjà effectué ce changement. C'est la situation que vous avez observée.
Par conséquent, votre transaction a émis une MISE À JOUR mais n'a pas changé la ligne.
Ce n'est peut-être pas ainsi que vous voudriez qu'InnoDB se comporte, mais c'est néanmoins ainsi qu'il se comporte.