サーバー上のmysqlバージョンをアップグレードする前は、すべてが正常に機能していました。
しかし、今ではエラーが発生し、クエリの失敗が表示されます。コードは何も変更していません。
SELECT id,frequency,speed FROM signal where active='Y'
from句にエラーが表示されています。なぜこれが発生するのですか?
SIGNAL
どうやら、MySQLの予約語です。バッククォートで囲みます。
SELECT id,frequency,speed FROM `signal` where active='Y'
クエリが構文的に正しいと思われるときに、句やその他の場所で予期しないエラーが発生した場合は常にFROM
、予約語リストを調べて、予約されていることに気づかなかったものを探します(そして、予約されていることに気づかなかったことを認めSIGNAL
ますリストを確認するまで)。
追加された時点ではまだ少し調査が行わSIGNAL
れていませんが、MySQL5.5にあったのではないかと思います。
Mysql5.5でアップグレードしたようで、Mysql5.5のSIGNAL
新しい予約キーワードです。
クエリにbackticks( `)Escape
を使用したテーブル名シグナル。
以下を試してください:
SELECT id,frequency,speed FROM `signal` where active='Y'