|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2012
Messaggi: 3
|
[MySQL] Problema chiavi esterne
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 Codice:
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) ); Codice:
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)); |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Mar 2009
Città: Torino
Messaggi: 203
|
Ciao, innanzitutto devi mettere InnoDB come motore, altrimenti non funzionerà in nessun caso.
Prova a scrivere così: FOREIGN KEY (fk_marca_modello) REFERENCES tipo (Marca, Modello) Non sono espertissimo di MySQL in quanto lavoro su altri DB, però se hai una chiave primaria formata da due colonne le foreign key devono essere dichiarate a due colonne, altrimenti rischieresti di violare il vincolo di univocità sulle tabelle figlie. ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:06.