2010-12-14 8 views
4

私のプロジェクトの1つでは、間にスペースのあるテーブルが必要でした。いくつかは、それが良いテクニックではないので、スペースを含めないように私に示唆しています。空白を持つテーブル名の長所と短所

クエリでテーブル名の一重引用符を使用して実装することもできます。しかし、私はスペースを選択しないためのしっかりした裏地が必要です。助けてください。

+1

が要件を共有してください(単一引用符は、非標準名を「エスケープ」の文字リテラル、二重引用符のためのものである)。私はつもりだ後にそれをし、 – Ronnis

答えて

8

動的SQLを実行したい場合は、読みにくく、複雑さが生じます。一方、テーブル名のスペースには値が何も追加されません。

アンダーソン氏は退屈なことを指摘しています。これは事実ですが、もっと重要なことは、不必要な面倒さが増すことです。

+3

テーブル名を引用するのは面倒だけど、SQLのいくつかを起動するたびに –

+0

読みにくい - 私は(ここでは事実はない)スペースはより良いwにつながると思うだろう脳によるパターン識別が容易で、読みやすくなりますか?またはあなたは好きですか:私は脳が脳のパターンを知っているかどうかを知ることはできません。 ;)あなたは、あなたが何か他のものを意味すると思うように、あなたが読むのが簡単なことを意味するかもしれません。 –

+0

は、動的SQLを実行したい場合に複雑さを生み出しています。実際には、すべてのテーブル名を[]で囲むようにしてください。私は同様のもののためのメソッド呼び出しもあると思います。 –

4

テーブル名や列名にスペースやその他の特殊文字を使用することはありません。まだ非標準のテーブル名に問題がある可能性がありますから第二

ツールの多くlazynessのうち

が一点である(あなたがそれらの恐ろしい引用符は必要ありませんので、そのSQLクエリを入力すると、多くの方が簡単です) 。

Btw:非標準オブジェクト名の引用符は二重引用符( ") 実際にその道を行くなら、私はMySQLを" ANSIモード "にすることを強くお勧めします。 (DBMS)は、世界の残りの部分。thedailywtf.comへ

+0

私は避けるべきものを知っていますが、どのツールにこれに問題がありますか? –

+0

私は心に特定のものを持っていませんでした。私はちょうど非標準的な名前を持つことは時々驚きにつながることに気づいた(さまざまなDBMS上で) –

+2

"私は決してスペースや他の特殊文字をテーブル名や列名に使用しない" - あなたのハンドルは 'AHorseWithNoName'ではなく、それで? :) – onedaywhen

関連する問題