Maison > Article > base de données > Comment corriger l'erreur MySQL 1055 : expression non incluse dans la clause GROUP BY ?
#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 :
Activer le mode de compatibilité :
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
Redémarrez 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!