現在のSQLクエリは、MySQL5.1.37を実行しているMAMP1.8.4でローカルに正常に機能します。
SELECT
EL.log_actions, EL.log_date, EL.log_value, EL.log_type,
EA.admins_name,
EU.users_name, EU.users_matric
FROM events_log EL
JOIN events_users EU
USING (users_id)
JOIN events_admins EA
USING (admins_id)
ORDER BY EL.log_id DESC
LIMIT 0, 10
ただし、このクエリをMySQL 4.1.22標準を実行している本番サーバーに公開すると、次のエラーが発生しました(エントリにデータがあるかどうかに関係なく)。
A Database Error Occurred
Error Number: 1054
Unknown column 'sceclub_exclaim2007.EU.admins_id' in 'on clause'
SELECT EL.log_actions, EL.log_date, EL.log_value, EL.log_type,
EA.admins_name, EU.users_name, EU.users_matric
FROM events_log EL
JOIN events_users EU USING (users_id)
JOIN events_admins EA USING (admins_id)
ORDER BY EL.log_id
DESC LIMIT 0, 20
これはCodeIgniter1.7.2に基づいており、本番環境と開発環境の両方で同じデータベースのセットが実行されています。
データベーステーブル
events_users: users_id users_name users_credits
users_matric users_redeem
events_admins: admins_id admins_email admins_name
admins_pass admins_date admins_modified admins_last_login
events_attendance: attendance_id users_id events_id
events_events: events_id events_name events_venue events_time
events_desc events_pass
events_log:log_id admins_id log_actions log_date log_value
users_id log_type
私はMySQLを初めて使用するので、バージョンの違いや考えられる原因を認識していません。よろしくお願いします。
MySQL4の違いをグーグルで試しても無駄になりました。また使用してみました
SELECT
EL.log_actions, EL.log_date, EL.log_value, EL.log_type,
EA.admins_name,
EU.users_name, EU.users_matric
FROM events_log EL
JOIN events_users EU
where EL.users_id = EU.users_id
JOIN events_admins EA
USING EL.admins_id = EA.admins_id
ORDER BY EL.log_id DESC
LIMIT 0, 10
しかし、その後、本番と開発の両方でエラーが発生しました。
データベースエラーが発生しました
エラー番号:1064
SQL構文にエラーがあります。8行目の「JOINevents_adminsEAUSING EL.admins_id = EA.admins_id ORDER BY」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
SELECT EL.log_actions、EL.log_date、EL.log_value、EL.log_type、EA.admins_name、EU.users_name、EU.users_matric FROM events_log EL JOIN events_users EU where EL.users_id = EU.users_id JOIN events_admins EA USING EL.admins_id = EA.admins_id ORDER BY EL.log_id DESC LIMIT 0、20
MySQL 5構文で行ったのと同じ効果を達成するために、MySQL 4構文について詳しく読むことができるいくつかのリソースを教えていただければ、お知らせください。
再度、感謝します!