Maison > base de données > tutoriel mysql > 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
Libérer: 2024-11-21 09:13:11
original
1041 Les gens l'ont consulté

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
      Copier après la connexion
  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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal