109

別の開発者が のような列名を持つテーブルを作成したプロジェクトに取り組んでいます'Business Name'。それは、2 つの単語の間のスペースです。「ビジネス名」でステートメントを実行するSELECTと、「ビジネス」という名前の列がないと表示されます。

どうすればこの問題を解決できますか?

4

6 に答える 6

188

通常、最初のステップは最初からそれを行わないことですが、これが既に行われている場合は、列名を適切に引用する必要があります。

SELECT `Business Name` FROM annoying_table

通常、これらの種類のものは、Microsoft Access などを使用し、常に GUI を使用して作業を行う人々によって作成されます。

于 2013-01-07T06:13:29.703 に答える
24

二重引用符が機能しない場合は、文字列を角括弧で囲んでみてください。

例:

SELECT "Business Name","Other Name" FROM your_Table

として変更することができます

SELECT [Business Name],[Other Name] FROM your_Table

于 2015-09-29T14:27:54.600 に答える
3

それぞれ独自のコードですが、これをコーディングする正しい方法は、アンダースコアを挿入して列の名前を変更し、ギャップがないようにすることです。これにより、コーディング時のエラーがゼロになります。パブリック表示用に列名を印刷する場合、検索と置換を使用してアンダースコアをスペースに置き換えることができます。

于 2015-08-04T15:09:29.783 に答える
-5

二重引用符も機能すると思います:

SELECT "Business Name","Other Name" FROM your_Table

ただし、誰かがMS SQL Serverを使用している場合に備えて、mySQLではなくSQL Serverでのみテストしました。

于 2014-09-01T00:00:17.277 に答える