プロジェクト

全般

プロフィール

Bug(バグ) #4153

未完了

OpenPNE 3 - Task(タスク) #4033: MySQLのStrict Modeを有効にした場合に生じる問題を調査

MySQLのONLY_FULL_GROUP_BYが有効な状態でフレンド数ランキング画面を表示するとエラー

Youichi Kimura さんがほぼ8年前に追加.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
開始日:
2017-02-16
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Unknown (未調査)

説明

Overview (概要)

MySQL 5.7 の Strict Mode が有効な状態での動作確認 (#4033) を行った際に発生した。

フレンド数ランキング画面を開くと下記のエラーが発生する:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'openpne.m.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Causes (原因)

SELECT m.id AS m__id, m.member_id_to AS m__member_id_to, COUNT(*) AS m__0
  FROM member_relationship m
  LEFT JOIN member m2 ON m.member_id_to = m2.id
 WHERE (m.is_friend = '1' AND m2.is_active = '1')
 GROUP BY m2.id
 ORDER BY COUNT(*) DESC
 LIMIT 10

上記のクエリで、m.id が GROUP BY に含まれていないためエラーが発生している。

Way to fix (修正内容)

修正内容を記入

表示するデータがありません

他の形式にエクスポート: Atom PDF