Ho ricambiato come hai detto tu.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_ID`,`dat_privato`), 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, 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_cvowner`) REFERENCES `datorelavoro` (`dat_ID`,`dat_privato`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- --------------------------------------------------------![]()
In più ho modificato una foreign key in esperienza.
Ora però ho un altro problema: se eseguo una REPLACE su una tupla di datorelavoro e ho una tupla di esperienza che è in relazione con tale datore ottengo il seguente errore:
codice:Cannot delete or update a parent row: a foreign key constraint fails (`lavora/esperienza`, CONSTRAINT `esperienza_ibfk_2` FOREIGN KEY (`e_datoreid`, `e_cvowner`) REFERENCES `datorelavoro` (`dat_ID`, `dat_privato `))

Rispondi quotando