2012-10-18 5 views
0

Salut, je suis en train d'obtenir plus familiat avec SQL et j'utilise MySql pour tester mon SQL queries.I semblent obtenir une erreur SINTAX dans cette déclaration:Erreur de syntaxe dans SQL create table

CREATE TABLE dog 
(
    id int(11) NOT NULL auto_increment, 
    name varchar(255), 
    descr text, 
    size enum('small','medium','large'), 
    date timestamp(14), 
    PRIMARY KEY (id) 
)ENGINE = InnoDB; 

Erreur:

#1064 - 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 '(14), PRIMARY KEY (id))ENGINE = InnoDB' at line 7

Qu'est-ce que je fais mal ici?

+0

Supprimer '(11)' à partir de votre requête, il suffit d'utiliser 'id int NOT NULL auto_increment,' –

+2

Modification: timestamp (14) -> timestamp – Devart

+0

J'espère que cela devrait être un avertissement dans la déclaration, il pas une erreur :) – gks

Répondre

4

essayer de mentionner comme ce

CREATE TABLE dog 

(
    id int NOT NULL auto_increment, 
    name varchar(255), 
    descr text, 
    size enum('small','medium','large'), 
    date timestamp, 
    PRIMARY KEY (id) 
) 
ENGINE = InnoDB; 
2

'TIMESTAMP(14)' est déprécié; utilisation TIMESTAMP 'au lieu

1

Essayez ceci:

CREATE TABLE dog 

(
    id int NOT NULL auto_increment PRIMARY KEY, 
    name varchar(255), 
    descr text, 
    size enum('small','medium','large'), 
    date timestamp 
) 
ENGINE = InnoDB; 
déclaration

PRIMARY KEY doit être précisée avec la déclaration sur le terrain