2011-09-08 7 views
0
déclaration

Je rencontre des problèmes avec cette déclaration MySQL:MySQL syntaxe

CREATE TABLE Articoli (Cod_Articolo char(10) NOT NULL, 
Des_Articolo varchar(50) NOT NULL, 
Cat_Articolo char(2) NOT NULL, 
Ubi_Articolo char(6) NOT NULL, 
PRIMARY KEY (Cod_Articolo) 
FOREIGN KEY (Cat_Articolo) REFERENCES Categorie(Cod_Categoria) ON DELETE NO ACTION ON UPDATE NO ACTION 
) ENGINE=InnoDB; 

Je reçois cette erreur:

ERROR 1064 (42000): 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 'FOREIGN KEY 

(Cat_Articolo) REFERENCES Categorie(Cod_Categoria) ON DELETE NO ACTI' at line 6 

Je ne vois pas pourquoi ...

Merci, Mauro

Répondre

4

Il vous manque un virgule ici:

PRIMARY KEY (Cod_Articolo) 

Essayez ceci:

CREATE TABLE Articoli (Cod_Articolo char(10) NOT NULL, 
Des_Articolo varchar(50) NOT NULL, 
Cat_Articolo char(2) NOT NULL, 
Ubi_Articolo char(6) NOT NULL, 
PRIMARY KEY (Cod_Articolo), 
FOREIGN KEY (Cat_Articolo) REFERENCES Categorie(Cod_Categoria) ON DELETE NO ACTION ON UPDATE NO ACTION 
) ENGINE=InnoDB; 
+0

Il fonctionne, mais je reçois encore une erreur: erreur 1005 (HY000): Impossible de créer la table 'prova1.Articoli' (errno: 150) – Margherita

+0

Quel est le type de données 'Cat_Articolo' et de' Cod_Categoria'? –

+0

Ils sont tous deux char (2) – Margherita