Ciao a tutti, sto avvengo problemi col creare relazioni tra tabelle...
Devo fare se nella tabella padre vieni cancellato o modificato un campo la stessa cosa deve avvenire nella tabella figlia.
Codice PHP:
CREATE TABLE IF NOT EXISTS `libri` (
`codice_libro` int(11) unsigned NOT NULL,
`titolo_libro` varchar(255) NOT NULL,
`isbn` varchar(255) NOT NULL,
`casa_editrice` varchar(255) NOT NULL,
`prezzo` varchar(255) NOT NULL,
PRIMARY KEY (`codice_libro`),
UNIQUE KEY `codice_libro` (`codice_libro`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `libri_comodato` (
`codice_libro` int(11) unsigned NOT NULL,
`codice_fiscale` varchar(16) NOT NULL,
`data` int(11) NOT NULL,
PRIMARY KEY (`codice_libro`),
UNIQUE KEY `codice_libro` (`codice_libro`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `studenti` (
`codice_fiscale` varchar(16) NOT NULL,
`nome` varchar(255) NOT NULL,
`cognome` varchar(255) NOT NULL,
`indirizzo` varchar(255) NOT NULL,
`telefono` varchar(11) NOT NULL,
`email` varchar(255) NOT NULL,
UNIQUE KEY `codice_fiscale` (`codice_fiscale`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Le relazioni devono essere libri->libri_comodato e studenti->libri_comodato
Ho fatto in questo modo, va bene come posso fare a fare la seconda relazione...
Codice PHP:
--
ALTER TABLE `libri_comodato`
ADD CONSTRAINT `libri_comodato_ibfk_1` FOREIGN KEY (`codice_libro`) REFERENCES `libri` (`codice_libro`) ON DELETE CASCADE ON UPDATE CASCADE;
P.s.
Secondo voi i tipi per i campi che ho impostato vanno bene o posso mettere un tipo migliore?
Ringrazio anticipatamente