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

C # MYSQL - SUR LA MISE À JOUR DE LA CLÉ EN DOUBLE - Même requête Résultats différents

Enfin trouvé la solution après avoir lu le manuel ci-dessoushttps://downloads.mysql. com/docs/connector-net-fr.pdf

Il existe une option de connexion appelée Utiliser les lignes affectées, UseAffectedRows

Sa valeur par défaut est définie sur false.

Et la description dit :

Lorsqu'ils sont utilisés; Ne définit pas l'indicateur CLIENT_FOUND_ROWS lors de la connexion au serveur

Il semble que MySQL Workbench et la ligne de commande MySQL n'utilisent pas l'indicateur CLIENT_FOUND_ROWS lors de la connexion, alors que le connecteur MySql .Net l'utilise par défaut.

À partir du document INSERT ... ON DUPLICATE KEY UPDATE à https://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html

Solution :ajoutez ceci à la chaîne de connexion

Use Affected Rows=true