別の開発者が のような列名を持つテーブルを作成したプロジェクトに取り組んでいます'Business Name'
。それは、2 つの単語の間のスペースです。「ビジネス名」でステートメントを実行するSELECT
と、「ビジネス」という名前の列がないと表示されます。
どうすればこの問題を解決できますか?
通常、最初のステップは最初からそれを行わないことですが、これが既に行われている場合は、列名を適切に引用する必要があります。
SELECT `Business Name` FROM annoying_table
通常、これらの種類のものは、Microsoft Access などを使用し、常に GUI を使用して作業を行う人々によって作成されます。
二重引用符が機能しない場合は、文字列を角括弧で囲んでみてください。
例:
SELECT "Business Name","Other Name" FROM your_Table
として変更することができます
SELECT [Business Name],[Other Name] FROM your_Table
それぞれ独自のコードですが、これをコーディングする正しい方法は、アンダースコアを挿入して列の名前を変更し、ギャップがないようにすることです。これにより、コーディング時のエラーがゼロになります。パブリック表示用に列名を印刷する場合、検索と置換を使用してアンダースコアをスペースに置き換えることができます。
二重引用符も機能すると思います:
SELECT "Business Name","Other Name" FROM your_Table
ただし、誰かがMS SQL Serverを使用している場合に備えて、mySQLではなくSQL Serverでのみテストしました。