バッククォートの代わりに、別の「ベスト プラクティス」パターンは、すべての列名を table_name または便利なテーブル エイリアスで修飾することです。
SELECT t.*
FROM wp_wpsc_api_keys t
WHERE t.name='MichelleAllen17'
AND t.key='cbd1f3bb822e8617b624301774287490d3fcd97e'
LIMIT 1
これにより、MySQL が列名「key」を予約語として認識しなくなります。
明確にしましょう: クエリの問題はバッククォートの欠如ではありません... 問題は、MySQL がクエリ テキスト (この場合は「キー」) 内のトークンを名前ではなく予約語として認識していることです。列の。解決策は、MySQL がそのトークンをキーワードとして認識しないようにすることです。バッククォートを使用することはそれを実現する 1 つの方法ですが、必須ではありません。
バッククォートの使用は完全に有効であり、列名を修飾することと一緒に行うことができます。列名にスペースまたは特殊文字が含まれている場合は、backicks が必要です。テーブル名と列名がバッククォートで囲まれた同じクエリを次に示します。
SELECT t.*
FROM `wp_wpsc_api_keys` t
WHERE t.`name`='MichelleAllen17'
AND t.`key`='cbd1f3bb822e8617b624301774287490d3fcd97e'
LIMIT 1
たまたま、不要なバッククォートを見たり入力したりしなければならないのは面倒です。t.
複数のテーブルがある場合は常に列名が修飾されているのを見るのに慣れているという理由だけで、列名を修飾する (" ") ことは、(私にとって) キーストロークのはるかに便利な使用方法です。クエリ (これは、多くの非常に有用なクエリで頻繁に発生します。)