1

非常に単純な「データ」というテーブルがあります。「キー」と「タグ付き」の2つの列があります。「キー」は自動インクリメントされたIDです。

「キー」に応じて「タグ付き」列を更新しようとしています。私はこの非常に単純なクエリを使用しています:

UPDATEデータSETtaged='Blahblahblah' WHERE key = '1';

ただし、MySQLでは次のエラーが発生します。#1064-SQL構文にエラーがあります。1行目の「key='1」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

クエリの問題が何であるかわかりません。何か考えはありますか?

ジャン・ニコラ

4

3 に答える 3

4

key予約語であり、バックティックでエスケープする必要があります。

UPDATE data SET tagged='Blahblahblah' WHERE `key`='1';
于 2012-12-11T00:27:19.893 に答える
2

key列は列なのでauto incrementintタイプまたはのいずれかであると確信していますbigint

そのため、この単語は予約済みのキーワードであるため、WHERE節で使用しないでください。key

試す -

UPDATE data SET tagged='Blahblahblah' WHERE `key`=1;
于 2012-12-11T00:28:04.250 に答える
0

1 を囲む一重引用符を削除し、key を囲みます。これはキーワードであるためです。「キー」= 1にします

これでうまくいくはずです。

于 2012-12-11T00:31:06.083 に答える