2011-07-27 6 views
0

テーブルのプライマリキーの値を取得するのに苦労しています。私たちはMS SQL Server 2005を使用しています。データベースは他の誰かが数年前に設計したものです(彼は正規化ルールに全く従わなかった)。彼はテーブルの主キーの列名としてKey(SQL Serverのキーワード)を使用しました。だから、私はこのようなクエリを使用することはできません:select key from table_name where column2 = ?テーブル内の特定の行のプライマリキーの値を取得するクエリを選択します。

誰もがこのような特定の行に何かの主キーの値を取得するためにクエリを記述するのに役立つ可能性があり:select primary_key from tbale_name where column2 = ?

答えて

2

はいあなたは、単に内の列名をラップすることができますバッククォート:

select `key` from `table_name` where `column2` = ? 

また、あなたのDBに応じて、あなたが使用する可能性のある角括弧:

select table_name.[key] from table_name where table_name.[column2] = ? 

編集:私はあなたが "MS SQL"と言ったのを見ます。私は大括弧で囲まれていると思います。 MySQLはバックティック構文を受け入れます。

関連する問題