Maison  >  Article  >  base de données  >  Comment corriger l'erreur MySQL 1055 : expression non incluse dans la clause GROUP BY ?

Comment corriger l'erreur MySQL 1055 : expression non incluse dans la clause GROUP BY ?

DDD
DDDoriginal
2024-11-21 09:13:11945parcourir

How to Fix MySQL Error 1055: Expression Not in GROUP BY Clause?

#1055 - Expression absente de la clause GROUP BY incompatible avec la configuration du serveur

Dans les versions MySQL 5.7.12 et ultérieures, en utilisant sql_mode= Le paramètre only_full_group_by garantit que les fonctions d'agrégation ne fonctionnent que sur les colonnes incluses dans la clause GROUP BY ou sont elles-mêmes agrégées. fonctions.

Pour résoudre l'erreur « L'expression de la liste SELECT n'est pas dans la clause GROUP BY et contient une colonne non agrégée, elle est incompatible avec sql_mode=only_full_group_by », suivez les étapes suivantes :

  1. Activer le mode de compatibilité :

    • Modifier la configuration MySQL fichier (my.cnf ou mysql.conf.d/mysql.cnf).
    • Ajoutez la ligne suivante en bas du fichier :

      [mysqld]
      sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  2. Redémarrez MySQL :

    • Exécutez le commande sudo service mysql restart pour redémarrer le serveur MySQL.

Ce paramètre sql_mode modifié permettra d'utiliser des fonctions d'agrégation sur des colonnes non incluses dans la clause GROUP BY sans générer l'erreur . Cependant, il est recommandé de n'utiliser ce mode qu'à des fins de compatibilité et d'envisager de restructurer la requête pour adhérer au mode only_full_group_by lorsque cela est possible.

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