salve
ho risolto i problemi di foreign key su mysql.
adesso ho creato un db con le seguenti tabelle:
CREATE TABLE Dipartimento (
nomeDip CHAR(20) NOT NULL,
PRIMARY KEY(nomeDip)
)
TYPE=InnoDB;
CREATE TABLE Impiegato (
idImpiegato INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Dipartimento_nomeDip CHAR(20) NOT NULL,
nome CHAR(20) NOT NULL,
cognome CHAR(20) NOT NULL,
stipendio INTEGER UNSIGNED NULL DEFAULT 0,
PRIMARY KEY(idImpiegato),
INDEX Impiegato_FKIndex1(Dipartimento_nomeDip),
FOREIGN KEY(Dipartimento_nomeDip)
REFERENCES Dipartimento(nomeDip)
ON DELETE NO ACTION
ON UPDATE CASCADE
)
TYPE=InnoDB;
in dipartimento c'è 'Informatica' e 'Meccanica'
provo questa insert per impiegato:
insert into Impiegato(Dipartimento_nomeDip, nome, cognome, stipendio)
values(select nomeDip from Dipartimento where nomeDip="Informatica", "pippo", "pippoa", "1023");
dovrebbe inserire la tupla: 1--Informatica(preso da dipartimento)--pippo---pippoa--1023
E' CORRETTA??????