Maison  >  Article  >  développement back-end  >  Pouvez-vous exécuter des requêtes MySQL avec des variables SET dans Go ?

Pouvez-vous exécuter des requêtes MySQL avec des variables SET dans Go ?

DDD
DDDoriginal
2024-10-23 18:27:02697parcourir

Can You Execute MySQL Queries with SET Variables in Go?

Requêtes MySQL avec des variables SET dans Go

Dans Go, l'utilisation de variables SET avant d'exécuter une requête MySQL peut améliorer l'efficacité de la requête en déclarant valeurs des variables et effectuer des calculs avant la requête elle-même.

Problème

Une tentative d'exécution d'une requête avec des variables SET a entraîné une erreur de syntaxe au niveau de l'instruction SELECT. La requête s'est exécutée parfaitement sur la console mais a rencontré des problèmes lors de son exécution via Go. L'utilisateur a remis en question la faisabilité d'une telle requête et a cherché une solution.

Solution

Le problème a été résolu en incorporant deux modifications clés :

  1. Paramètres DSN :Le DSN (Data Source Name) utilisé pour la connexion à la base de données MySQL nécessitait l'inclusion des paramètres suivants :

    • multiStatements=true : Autorise l'exécution de plusieurs requêtes au sein d'une seule connexion.
    • interpolateParams=true : permet l'interpolation de paramètres dans les instructions SQL.
  2. Conversion de classement : La base de données et ses tables ont dû être converties de la collation utf8mb4_0900_ai_ci en collation utf8mb4_general_ci pour résoudre une erreur liée à une incompatibilité de collation.

Conclusion

En incorporant le DSN spécifié paramètres et garantissant la compatibilité dans les paramètres de classement, la requête avec les variables SET exécutée avec succès dans Go. L'utilisateur a évité l'approche lourde de duplication des paramètres et a obtenu une efficacité de requête améliorée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn