MySQL(マイエスキューエル)

MySQLで「... which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by」というエラーが出ました!!

MySQLで、

select * from `line_table` where `prefCd`=13 group by `lineCd`,`lineName`

というSQLクエリーを実行すると、

こんなエラーが出てしまいました。

ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'xxxxxx' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

これは、MySQL5.7で「sql_mode(SQLモード)」のデフォルトの設定が変更になっためです。

具体的には、

「ONLY_FULL_GROUP_BY」が設定されるようになった為に、

GROUP BY句に設定していないカラムを、SELECTするカラムには設定出来なくなりました。

出来れば、sql_modeの設定を変更はしたくないです。

それに、

selectで取得するカラムに「*」を設定しているようなSQL自体も本来は良くないです。
※本来は必要なカラムだけを取得するようにSELECTするSQLにした方がいいです。

なので、SQLを組み替えることにしました。

と言っても、

今回は難しくはなく、

select `lineCd`,`lineName` from `line_table` where `prefCd`=13 group by `lineCd`,`lineName`

とすればいいだけです。

0
この記事を書いている人
株式会社ディープ

名前ダッチ

メールアドレスadachi@deep-deep.jp

Twitterはこちら >>

  • コメント: 0

関連記事

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

最近の記事

  1. 太子堂八幡神社の茅の輪
  2. システムエラー
  3. WP:WordPress(ワードプレス)
  4. ITコンサルティング
  5. トラブル
  6. WP:WordPress(ワードプレス)
  7. WP:WordPress(ワードプレス)
  8. WP:WordPress(ワードプレス)
  9. SNSシェア
  10. 開始

Twitter

ダッチ@職業ブロガー兼プログラマー
@gatsu0000

  • 今月の20日が退職日です。 でいろいろやりたいことが出てきたけど、自分にはいろいろと知識が足りてないことに気づきました。 で、本当は大っ嫌いなんですが、読書を開始しました。 何かいい本あったら教えて!エロ本以外で。
    about 1日 ago via Twitter Web App

アーカイブ

PAGE TOP