MySQL запрос работает нормально на v4.1.22, но не работает на v5.x - PullRequest
1 голос
/ 15 февраля 2010

У меня есть приложение, которое выполняет следующий запрос MySQL:

         SELECT 402 AS user_id,
                p.id AS perm_id,
                p.name AS perm_name,
                lc.business_division_id,
                bd.name AS bd_name,
                bd.current_cycle, bd.current_moon,
                lc.name AS cycle_name,
                lc.milestone_date,
                lc.scorecard_date,
                bdm.name AS meta_name,
                bdm.value AS meta_value
           FROM lc_vc_cg_353.business_division bd,
                lc_vc_cg_353.business_division_meta bdm,
                lc_vc_cg_353.lunar_cycle lc
LEFT OUTER JOIN lc_vc_cg_353.permissions ps
                  ON ps.user_id = 402 AND ps.business_division_id = bd.id inner
           join lc_vc_central.permission p
                  ON ((ps.privilege_id IS NOT null AND p.id = ps.privilege_id)
                       OR
                      (ps.privilege_id IS NULL AND p.id = 1024))
          WHERE
                bd.active = 1
                  AND
                bdm.business_division_id = bd.id
                  AND
                lc.business_division_id = bd.id
                  AND
                lc.id = bd.current_cycle
       ORDER by bd.name asc;

Рабочий сервер работает нормально и работает под управлением MySQL v4.1.22 (Redhat), однако, когда я выполняю тот же запрос на компьютере под управлением Windows, на котором работает сообщество MySQL v5.1.43, возникает следующая ошибка:

ОШИБКА 1054 (42S22): неизвестный столбец «bd.id» в «предложении»

Есть идеи по поводу этой проблемы? Может быть, этот конкретный синтаксис устарел в новых версиях MySQL?

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 15 февраля 2010

Вам также следует убедиться, что схемы совпадают.

Есть ли в системе business_division идентификатор столбца в системе Windows?

Я предполагаю, что имена баз данных (например, lc_vc_cg_353) также совпадают.

Я не вижу ничего очевидного в синтаксисе.

0 голосов
/ 17 марта 2010

Я исправил это, установив MySQL v4.1.22 на компьютер с Windows.

...