N'MySQL permet de créer une base de données avec dot?
N'MySQL permet de créer une base de données qui a dot (.
) dans son nom?
Je suis en utilisant MySQL 5.1.22.
- MySQL n'autorise pas (
.
) (.
)
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas utiliser le point dans un nom de base de données. Aussi, j'aimerais éviter de l'utiliser dans tout autre identifiant. Une convention commune est d'utiliser le trait de soulignement à la place. Il va servir le même but, et permet d'éviter BEAUCOUP de confusion. Si vous ne avoir une bonne raison de l'utilisation d'étrange et d'autre de caractères illégaux dans une table ou un champ nom, puis vous devez vous échapper.
pour échapper à des identifiants MySQL, utilisez le backtick:
Entrer dans l'habitude de backticking tous les noms des champs que vous besoin est une bonne pratique, à mon avis, mais c'est une autre histoire.
Vous pouvez utiliser
.
dans les noms de MySQL 5.1.6 selon la documentation.Toutefois, comme cela a été dit et redit, veuillez ne pas le faire. Pour chaque problème que vous pensez que vous êtes à la résolution de maintenant, vous allez créer cinq qui va vous mordre plus tard. Depuis . est utilisé pour qualifier les noms - par exemple
database.table
outable.column
vous aurez à indiquer votre nom de base de données chaque fois que vous l'utilisez.*Vous pouvez le faire avec les backticks:
ou à l'aide de guillemets doubles si vous définissez l'option suivante:
* Pas strictement vrai - vous avez de citer n'importe quel caractère qui n'est pas alphanumérique ou
_
ou$
, mais . est particulièrement gênant option d'avoir en votre nom.Avant MySQL 5.1.6, base de données et les noms de table ne peut pas contenir de
/
,\
,.
, ou des caractères qui ne sont pas autorisés dans les noms de fichiers (voir 8.2. Schéma Des Noms D'Objets).Dans les versions après 5.1.6 vous devez indiquer votre nom de la table avec un backtick (
`
) - mais comme d'autres l'ont aussi conseillé: vous ne devriez pas faire cela pour éviter tout ennuis inutiles.MySQL 5.0.22 ne semble pas le permettre:
Même si elle ne le permettent, je vous recommande fortement contre elle.
À tout le moins, vous devrez échapper à toute référence à la base de données avec des backticks dans chaque requête que jamais utilise.