Cross dependency found in OUTER JOIN; examine your ON conditions

提供:MySQL Practice Wiki

移動: 案内, 検索

エラー概要

MySQLエラー番号 1120
SQLSTATE 42000
エラー名 ER_WRONG_OUTER_JOIN
メッセージ Cross dependency found in OUTER JOIN; examine your ON conditions
障害部位 mysqld/joins
該当バージョン 4.1 or older
エラーの原因 LEFT/RIGHT JOINにおける、テーブル同士の参照が不正。詳細は以下参照。
対策 以下を参照。
備考 nada

目次

原因

OUTER JOIN(LEFT JOINまたはRIGHT JOIN)において、ON句の条件において、後から結合されるテーブルが指定された場合に発生する。例えば、worldデータベースにおいて次のクエリを実行するとこのエラーが発生する。 <highlightSyntax language="mysql">select * from

 country co
 left join city ci on ci.countrycode = cl.countrycode
 left join countrylanguage cl on cl.countrycode = co.code;</highlightSyntax>

このエラーは4.1以前のバージョンだけで発生し、5.0以降のバージョンでは「Unknown column」エラーが発生する。

対処法

JOINを正しく使おう。