sql >> データベース >  >> RDS >> Mysql

SQLSTATE [42000]:構文エラーまたはアクセス違反:1055 SELECTリストの式#3がGROUP BY句に含まれておらず、非集計が含まれています

    実行:

    sudo mysql -u root -p
    mysql> SELECT @@global.sql_mode;
    

    (その後、後で元の設定に戻したい場合に備えて、オプションで出力をメモのどこかにコピーします。)

    そして、SQLモードを変更します MySQLサーバーインスタンスの場合:

    mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
    

    (ロールバックしたい場合は、mysql> SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';のようなものを実行できます。 保存した値を使用します。)

    より永続的な方法(MySQLの再起動後も存続します)は、MySQL構成を使用することです。 /etc/mysql/my.cnfに移動します (または、sudo vim /etc/mysql/mysql.conf.d/mysql.cnfを実行する必要がある場合があります ):

    • [mysqld]のセクションを追加します そのすぐ下にステートメントsql_mode = ""を追加します またはsql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

    • MySQLサービスを再起動します:

       sudo systemctl restart mysql
      

    (またはsudo service mysql restart

    https://dba.stackexchange.com/a/113153/18098 も参照してください。



    1. psql:致命的:ユーザー開発者のピア認証に失敗しました

    2. Mysql、別のテーブルの単一の列に複数の値を格納する

    3. ClusterControlを使用したVitessとMySQLの実行

    4. WordPressのカスタムテーブルが空かどうかを確認する方法