Maison >base de données >tutoriel mysql >Que dois-je faire si mysql5.7 signale l'erreur 1055 ?

Que dois-je faire si mysql5.7 signale l'erreur 1055 ?

藏色散人
藏色散人original
2020-10-26 09:05:012853parcourir

Solution à l'erreur 1055 de mysql5.7 : recherchez et ouvrez d'abord le fichier de configuration my.cnf ; puis supprimez l'élément "only_full_group_by", ou ouvrez la ligne de commande mysql et exécutez la commande "select @@sql_mode" qui est Can.

Que dois-je faire si mysql5.7 signale l'erreur 1055 ?

Recommandé : "tutoriel mysql"

erreur mysql5.7 1055

Groupe MySQL5.7 par nouvelle fonctionnalité, erreur 1055

Le projet utilisait à l'origine mysql5.6 pour le développement Après être passé à la version 5.7, j'ai soudainement découvert que certaines des opérations SQL d'origine. n'étaient pas en cours d'exécution. Rapport d'erreur, code d'erreur 1055, le message d'erreur est lié à "only_full_group_by" dans sql_mode. J'ai vérifié la raison en ligne et j'ai constaté que le mode only_full_group_by est activé par défaut dans mysql5.7. 🎜>

Un : utilisez la fonction any_value() sur les champs qui ne nécessitent pas de regrouper par dans l'instruction de requête SQL

Bien sûr, cela ne convient pas aux projets qui ont développé de nombreuses fonctions. le SQL d'origine doit être modifié. Une fois

Deux : Modifier le fichier de configuration my.cnf (my.ini sous windows) et supprimer l'élément only_full_group_by

Le mysql de notre projet est installé sur ubuntu. , recherchez ce fichier et ouvrez-le. Regardez, il ne contient aucun élément de configuration sql_mode, vous n'avez donc pas besoin de le supprimer si vous le souhaitez.

Bien sûr, il existe d'autres moyens. Ouvrez la ligne de commande mysql et exécutez la commande

select @@sql_mode

pour connaître la valeur de sql_mode, copiez cette valeur et ajoutez des éléments de configuration dans my.cnf. (Supprimez l'option only_full_group_by de la valeur interrogée et copiez les autres) :

sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Si la ligne [mysqld] est commentée, pensez à ouvrir le commentaire. Redémarrez ensuite le service mysql

Remarque : utilisez la commande

set sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

pour modifier les éléments de configuration dans une session, qui ne prendront pas effet dans les autres sessions.

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