1

サーバー上のmysqlバージョンをアップグレードする前は、すべてが正常に機能していました。

しかし、今ではエラーが発生し、クエリの失敗が表示されます。コードは何も変更していません。

SELECT id,frequency,speed FROM signal where active='Y'

from句にエラーが表示されています。なぜこれが発生するのですか?

4

2 に答える 2

2

SIGNALどうやら、MySQLの予約語です。バッククォートで囲みます。

SELECT id,frequency,speed FROM `signal` where active='Y'

クエリが構文的に正しいと思われるときに、句やその他の場所で予期しないエラーが発生した場合は常にFROM、予約語リストを調べて、予約されていることに気づかなかったものを探します(そして、予約されていることに気づかなかったことを認めSIGNALますリストを確認するまで)。

追加された時点ではまだ少し調査が行わSIGNALれていませんが、MySQL5.5にあったのではないかと思います。

于 2012-04-15T12:46:16.727 に答える
2

Mysql5.5でアップグレードしたようで、Mysql5.5のSIGNAL新しい予約キーワードです。 クエリにbackticks( `)Escapeを使用したテーブル名シグナル。

以下を試してください:

 SELECT id,frequency,speed FROM `signal` where active='Y'
于 2012-04-15T12:46:29.810 に答える