1

私はこの嫌なバージョンの MySQL (5.1.65) を使用しようとしています。このバージョンでは、すべてを引用符で囲む必要があり、すべてについて非常に厳格です。重複したエントリを探しているので、ユーザーが送信した値を返す場合は明らかに重複しているスクリプトを作成しようとしています。これは私のサーバーではなく、これで動作しています。

これが私が実行しようとしているものです。これはエラーなしでうまくいきます。

SELECT * FROM `keylist` WHERE 'key' = '7489asdf32749asdf8237492asdf49837249'

問題は、7489asdf32749asdf8237492asdf49837249 が varchar としてデータベースにあることです...まったく同じです。しかし、奇妙なことは、もし私がそうするなら

SELECT * FROM `keylist` WHERE key = '7489asdf32749asdf8237492asdf49837249'

IDを選択するためにそれを行った場合は機能しますが、それは機能しません。

何が間違っているのかわかりませんが、このばかげた MySQL バージョンは確かに役に立ちません。

全体として、私の問題は、重複を探していることです。そのため、WHERE key = ステートメントを実行し、そこにあるキーは、そこにあることがわかっている場合は何も返しません。

4

1 に答える 1

1

keyは MySQL の予約語です - http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-0.html

あなたの最初のバージョンの作品はバックティックになります -` `実際の列名への解釈を強制します。

于 2013-01-06T03:24:38.960 に答える