2008-11-29 7 views
10

Je suis très, très nouveau à MYSQL. J'ai essayé de créer une table nommée "option". Ma requête SQL est:Peut-on avoir le nom de la table comme "option" dans MySQL?

option create table (

id int auto_increment clé primaire non nulle,

choix varchar (30)

)

Pendant l'exécution cette requête montre l'erreur suivante

Code d'erreur: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser 'l'option ( id int non auto_increment nulle clé primaire, choix varchar (30) )' près de la ligne 1 (0 ms prises)

Si j'essaie avec le nom de la table comme "choix" cela fonctionne.

pouvons-nous avoir le nom de la table comme "option" dans mysql?

grâce

+0

Selon ma réponse, si vous le pouvez, vous voulez que votre application/base de données soit bien démarrée. Le seul mot "option" est-il vraiment le meilleur nom pour cette table? Cela doit être une option pour quelque chose de spécifique, alors prenez le temps de dessiner votre modèle de données si vous ne l'avez pas déjà fait et que le problème doit se résoudre. –

Répondre

10

Choisissez un nom différent (celle qui n'est pas un mot réservé dans votre SGBDR) et vous sauver et quiconque d'autre pourrait travailler sur le sujet de nombreux maux de tête.

+0

Bien qu'apparemment inoffensif à citer, j'ai été bloqué avec des systèmes qui ont des tables nommées 'All' et 'Table' et d'autres mots réservés, et on commence à mépriser le back-tick/bracket. –

15

Si vous voulez avoir un nom de table Option, vous devriez être en mesure de, rappelez-vous que chaque fois que vous utilisez la table dans une requête, vous devrez envelopper dans `symboles. Comme ça.

`option` 

La touche `en haut à gauche de votre clavier, avec le tilde.

+0

C'est en bas à gauche de mon clavier! –

2

Vous pouvez utiliser des mots-clés SQL comme noms de tables dans MySQL si vous les évitez avec des citations arrière.

CREATE TABLE `option` (
    ... 
) 

Il est généralement pas une bonne idée de le faire, cependant.

0

L'option est une reserved word dans MySQL. Sauvez-vous un monde de douleur et utilisez choix pour le nom de votre table.

4

L'option est un mot réservé dans Mysql. Nous pouvons utiliser un mot réservé en utilisant le mot entre guillemets simples.

3

Mieux, vous sélectionnez l'autre nom de table. Sinon, le maintien de notre code sera difficile.

0

Oui vous pouvez certainement créer une table option nommée mais dans toutes les requêtes que vous devrez utiliser

`option` 

au lieu de plaine option. Mieux improviser un peu et créer une table nommée options pour sauver des ennuis. Empêchez d'utiliser les mots réservés mysql comme nom de table ou nom de colonne ou noms de procédure.

Questions connexes