(ORDER BY句の式の第1位は、SELECTリストに表示されていない)のMysql 5.7との非互換性
DISTINCTと互換性がありません私は理解していません...?エラーコード:ORDER BY句の3065式#1がありますSELECT リストにはありません。参照列 'webstore.level_depth'は にありません。SELECT list;これが起こって、なぜこれが私のクエリ
SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `pj_category_shop` cs, `pj_category` c INNER JOIN `pj_category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = 1 AND cl.id_shop = 2) WHERE (c.`active` = 1 OR c.`id_category` = 2) AND cs.`id_category` = c.`id_category` AND cs.`id_shop` = 2 AND c.`id_category` != 1 AND `level_depth` <= 2 AND c.id_category IN (SELECT id_category FROM `pj_category_group` WHERE `id_group` IN (3)) ORDER BY `level_depth` ASC, cl.`name` ASC;
実際には、そのうちの1つだけを実行する必要があります。 GLOBAL変数はサーバーの全体的な操作に影響し、SESSION変数は個々のクライアント接続の操作に影響します。 (https://dev.mysql.com/doc/refman/5.7/en/using-system-variables.html)。 – Andres
MySQL 5の値を使用する。6、最後のオプションを除いて、すべてをドロップしてください: 'set global SQL_MODE =" NO_ENGINE_SUBSTITUTION ";' –