andrethef
29-06-2012, 09:20
Ciao a tutti. Devo creare in MySQL delle tabelle con i vincoli di integrità referenziale tramite le clausole foreign key.
Creo senza problemi la prima tabella
CREATE TABLE tipo
(Marca varchar (20) NOT NULL,
Modello varchar (10) NOT NULL,
Costo_Orario varchar (15) NOT NULL,
Costo_Sett varchar (15) NOT NULL,
Costo_GG varchar (15) NOT NULL,
PRIMARY KEY (Marca, Modello) );
Mentra nella tabella dove vado ad esplicitare la chiave esterna, non me la crea e mi dà errore sulle chiavi esterne:
CREATE TABLE furgone
(Targa varchar (10) NOT NULL,
Marca varchar (20) NOT NULL,
Modello varchar (10) NOT NULL,
Data_Imm varchar (25) NOT NULL,
NPosti smallint (2) NOT NULL,
mCubi smallint (5) NOT NULL,
PRIMARY KEY (Targa),
FOREIGN KEY (Marca) REFERENCES tipo (Marca),
FOREIGN KEY (Modello) REFERENCES tipo (Modello));
Qualcuno ha qualche idea? Ho provato a mettere ENGINE=InnoDB per entrambe le tabelle, ma non cambia nulla
Creo senza problemi la prima tabella
CREATE TABLE tipo
(Marca varchar (20) NOT NULL,
Modello varchar (10) NOT NULL,
Costo_Orario varchar (15) NOT NULL,
Costo_Sett varchar (15) NOT NULL,
Costo_GG varchar (15) NOT NULL,
PRIMARY KEY (Marca, Modello) );
Mentra nella tabella dove vado ad esplicitare la chiave esterna, non me la crea e mi dà errore sulle chiavi esterne:
CREATE TABLE furgone
(Targa varchar (10) NOT NULL,
Marca varchar (20) NOT NULL,
Modello varchar (10) NOT NULL,
Data_Imm varchar (25) NOT NULL,
NPosti smallint (2) NOT NULL,
mCubi smallint (5) NOT NULL,
PRIMARY KEY (Targa),
FOREIGN KEY (Marca) REFERENCES tipo (Marca),
FOREIGN KEY (Modello) REFERENCES tipo (Modello));
Qualcuno ha qualche idea? Ho provato a mettere ENGINE=InnoDB per entrambe le tabelle, ma non cambia nulla