PDA

View Full Version : [SQL] - [MySql] problema Foreign Key


giannimesa
30-08-2007, 01:56
ciao a tutti ragazzi ho un grosso grossisimo problema, che a quanto leggo in giro sembrerebbe una specie di BUG che affligge le varie versioni di MySql... ma non voglio crederci avrò capito male.

il fatto sta che nell'esecuzione:


create table Azienda_Esterna (
nome varchar(20),
partita_IVA int NOT NULL,
telefono int,
fax int,
email varchar(20),
via varchar(20),
CAP int NOT NULL DEFAULT -1,
PRIMARY KEY (partita_IVA),
constraint AZ_fk
FOREIGN KEY (CAP) references Luogo(CAP)
on delete set default on update CASCADE
);


mi restituisce un errore del tipo:


ERROR 1005 (HY000): Can't create table '.\giunta\azienda_esterna.frm' (errno: 150)


impostando invece il vincolo di integrità referenziale "AZ_fk" CASCADE sia in UPDATE che in DELETE il DBMS accetta i comandi...

:muro:

non riesco a capire perché in giro leggo cose riguardanti "InnoDB"... e che è???

grazie ragazzi... grazie a tutti quelli che mi daranno una mano!

vizzz
30-08-2007, 09:17
http://it.wikipedia.org/wiki/InnoDB
la tua è una tabella innodb? l'alternativa è myISAM.
di myISAM non conosco le limitazioni ma di sicuro con InnoDB non dovresti avere questo tipo di problemi.

giannimesa
30-08-2007, 15:34
bhe ho trovato ... con la clausola NO ACTION, risolvo tutto e forse è anche meglio così offre più sicurezza nell'integrità del database....

grazie!