Bug(バグ) #4156
OpenPNE 3 - Task(タスク) #4033: MySQLのStrict Modeを有効にした場合に生じる問題を調査
MySQLのONLY_FULL_GROUP_BYが有効な状態でコミュニティ一覧のフィードを取得するとエラー
Status:
New(新規)
Priority:
Normal(通常)
Assignee:
-
Target version:
-
Start date:
2017-02-16
Due date:
% Done:
0%
3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
No
3.8 で発生するか:
Unknown (未調査)
Description
Overview (概要)¶
MySQL 5.7 の Strict Mode が有効な状態での動作確認 (#4033) を行った際に発生した。
コミュニティ一覧のフィード (/api.php/feeds/community
) を取得すると下記のエラーが発生する:
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'openpne.c3.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by.
Causes (原因)¶
SELECT DISTINCT c3.id
FROM community c3
LEFT JOIN community_member c4 ON c3.id = c4.community_id
GROUP BY c4.community_id
ORDER BY c3.created_at DESC
LIMIT 25
上記のクエリで、c3.id
が GROUP BY に含まれていないためエラーが発生している。
Way to fix (修正内容)¶
修正内容を記入