2013-09-07 3 views
0

Je suis un programmeur débutant en MySQL. Quand je crée une table appelée message dans ma base de données appelée chat, c'est l'erreur:Erreur de syntaxe SQL lors de la création d'une table?

Error creating Table: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from CHAR(30),to TEXT(300),text TEXT(1000),index INT(10) NOT NULL AUTO_INCREMENT' at line 1

La déclaration complète MySQL est:

CREATE TABLE message(date DATE,from CHAR(30),to TEXT(300),text TEXT(1000),index INT(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY(index)) 

Je sais que l'autre code est correct, parce que je créé une autre table précédemment, et cela a bien fonctionné. J'ai ensuite copié le code et l'ai utilisé pour cette déclaration.

C'est probablement une erreur vraiment stupide, mais je n'arrive pas à comprendre.

S'il vous plaît aider. Merci d'avance.

+1

pour éviter d'utiliser Easiest mots réservés pour les colonnes/tables etc: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html – dcaswell

Répondre

2

to, from et index sont reserved words.

Essayez:

CREATE TABLE message(date DATE,`from` CHAR(30),`to` TEXT(300),text TEXT(1000),`index` INT(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY(`index`)) 
+0

Vous avez pour citer la dernière occurrence de 'index', aussi. – ComFreek

1

from est un des mots mysql réservé,

vous devez ajouter de dans `,

MISE À JOUR: à, l'index est la clé aussi, ici le droit sql

CREATE TABLE message(date DATE,`from` CHAR(30),`to` TEXT(300),text TEXT(1000),`index` INT(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY(`index`)) 
Questions connexes