私は現在、1つのサーバーから別のサーバーに大きなPHPベースのWebアプリケーションを移動しています。古いサーバはMySQL 5.0.51a(SuSE Linux上)を実行しており、新しいサーバはMySQL 5.5.15(ArchLinux上)を実行しています。データベースのアップグレード後にMySQLで列挙型を選択できないのはなぜですか?
今、新しいMySQLは次の文(構文エラー)文句を言っている:
SELECT DISTINCT(field) FROM config WHERE range='global' ORDER BY field
私はテストのビットを行なったし、次短縮文はまだ(構文エラーで)失敗したことが判明:
SELECT * FROM config WHERE range='global'
残念ながら、これは完全に法的なSQLのようです。私の推測では、それは列range
のタイプ(enum('global', 'user')
)と関係があります。他の列(例: int
の列は完全に正常に動作します。
私はすなわち、このように、WHERE句に列名を追加し、ローカルでこの問題を解決する方法を知っている:
SELECT * FROM config WHERE config.range='global'
しかし、私は、列名を追加し、コード全体を通過する必要はありません必要に応じてSQL文に変換します。したがって
私の質問:
どのように私はややずさん5.0.51a構文を受け入れるためのMySQL 5.5.15を教えていますか?
それだけで「構文エラー」と言うか、より詳細なエラーの説明がありますか? –