2010-12-14 5 views
4

Dans l'un de mes projets, il était nécessaire d'avoir une table avec espace entre les deux. Certains me suggèrent de ne pas inclure d'espaces car ce n'est pas une bonne technique.Avantages et inconvénients du nom de table ayant des espaces

nous pouvons toujours l'implémenter en utilisant des guillemets simples pour le nom de la table dans les requêtes. Mais j'ai besoin d'un solide soutien pour ne pas opter pour des espaces. S'il vous plaît aider.

+1

S'il vous plaît partager l'exigence. Je vais l'envoyer à thedailywtf.com et – Ronnis

Répondre

8

Il rend la lecture plus difficile, crée de la complexité si vous voulez faire du SQL dynamique. D'autre part, les espaces dans les noms de tables n'ajoutent aucune valeur.

M. Anderson souligne que c'est fastidieux. C'est assez vrai, mais plus important encore, il ajoute l'ennui inutile.

+3

En outre, il est fastidieux de citer le nom de la table à chaque fois que vous tirez de quelques sql. –

+0

plus difficile à lire - je suppose (pas de faits ici) les espaces conduiraient à mieux w identification par le cerveau, et donc plus facile à lire? ou préférez-vous: je suppose (sans quoi il en résulterait) que les lieux seraient plus propices à l'identification de la forme par le cerveau, et que le cas serait plus difficile? ;) Pourriez-vous peut-être ce que vous voulez dire par plus facile à lire car je pense que vous voulez dire autre chose. –

+0

crée de la complexité si vous voulez faire du SQL dynamique - Pas vraiment, assurez-vous d'entourer tous les noms de tables avec [] et vous êtes prêt à partir. Je pense qu'il y a même un appel de méthode pour quelque chose de similaire. –

4

Je n'utiliserais jamais d'espaces (ni d'autres caractères spéciaux) dans les noms de table ou de colonne.

Sur lazyness est un point (en train d'écrire des requêtes SQL est beaucoup plus facile parce que vous n'avez pas besoin de ces citations redoutées)

Deuxièmement beaucoup d'outils là-bas pourrait encore avoir des problèmes avec les noms de table non standard . Btw: le guillemet pour les noms d'objets non standards est un guillemet double (") Si vous allez vraiment dans cette direction, je vous recommande vivement de mettre MySQL en" mode ANSI "afin d'être compatible avec le reste du (SGBD) monde.

(les guillemets simples sont pour les littéraux de caractère, des guillemets doubles pour « échapper » noms non standard)

+0

Donc je sais ceux à éviter, quels outils ont des problèmes avec ça? –

+0

Je n'avais pas de spécificités en tête. Je viens de remarquer (sur différents SGBD) que le fait d'avoir des noms inhabituels conduit parfois à des surprises –

+2

"Je n'utiliserais jamais d'espaces (ni d'autres caractères spéciaux) dans les noms de tables ou de colonnes" - comment se fait-il que 'AHorseWithNoName' puis? :) – onedaywhen

Questions connexes