Salve, sto cercando di creare questo piccolo db, ma durante la creazione della tabella esperienza ottengo il seguente errore:codice:CREATE TABLE `privato` ( `p_ID` int(11) NOT NULL auto_increment, PRIMARY KEY (`p_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Struttura della tabella `cv` -- CREATE TABLE `cv` ( `cv_candidato` int(11) NOT NULL, `cv_nome` varchar(30) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`cv_candidato`,`cv_nome`), FOREIGN KEY (`cv_candidato`) REFERENCES `privato` (`p_ID`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -------------------------------------------------------- -- -- Struttura della tabella `datorelavoro` -- CREATE TABLE `datorelavoro` ( `dat_ID` int(11) NOT NULL, `dat_privato` int(11) NOT NULL, PRIMARY KEY (`dat_privato`,`dat_ID`), FOREIGN KEY (`dat_privato`) REFERENCES `privato` (`p_ID`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -------------------------------------------------------- -- -- Struttura della tabella `esperienza` -- CREATE TABLE `esperienza` ( `e_datainizio` date NOT NULL, `e_cvowner` int(11) NOT NULL, `e_cvnome` varchar(30) NOT NULL, `e_datoreid` int(11) NOT NULL, `e_privato` int(11) NOT NULL, PRIMARY KEY (`e_datainizio`,`e_cvowner`,`e_cvnome`), FOREIGN KEY (`e_cvowner`,`e_cvnome`) REFERENCES `cv` (`cv_candidato`,`cv_nome`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`e_datoreid`,`e_privato`) REFERENCES `datorelavoro` (`dat_ID`,`dat_privato`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- --------------------------------------------------------
#1005 - Can't create table '.\db_prova\esperienza.frm' (errno: 150)
Togliendo la foreign key su `e_datoreid`,`e_privato` non ho più errori, ma io ho bisogna di crearla!! Non riesco proprio a capire perchè non posso creare una semplice chiave importata.
Grazie a tutti per l'aiuto.