smok
01-02-2005, 14:43
Ciao a tutti! Sono riuscito finalmente ad installare mysql 4.1 in modo che mi supporti gli InnoDB e quindi mi permetta di usare le foreign keys, solo che le funzioni ON DELETE SET DEFAULT o SET NULL non funzionano. Se ad es creo una tabella:
CREATE TABLE `comitati` (
`comitatoID` int(11) NOT NULL auto_increment,
`Comitato` varchar(50) NOT NULL default '',
PRIMARY KEY (`comitatoID`),
UNIQUE KEY `Comitato` (`Comitato`)
) TYPE=InnoDB;
e poi voglio creare questa che ha una foreign key:
CREATE TABLE `gruppi` (
`GruppoID` int(11) NOT NULL auto_increment,
`comitatoID` int(11) NOT NULL default '0',
`Gruppo` varchar(40) NOT NULL default '',
INDEX (comitatoID),
PRIMARY KEY (`GruppoID`,`comitatoID`),
FOREIGN KEY (comitatoID) REFERENCES comitati (comitatoID) ON DELETE SET DEFAULT,
UNIQUE KEY `Gruppo` (`Gruppo`)
) TYPE=InnoDB;
NON me la fa creare con SET DEFAULT o SET NULL, mentre se metto CASCADE va bene!
Da che dipende secondo voi? Grazie ciao!
CREATE TABLE `comitati` (
`comitatoID` int(11) NOT NULL auto_increment,
`Comitato` varchar(50) NOT NULL default '',
PRIMARY KEY (`comitatoID`),
UNIQUE KEY `Comitato` (`Comitato`)
) TYPE=InnoDB;
e poi voglio creare questa che ha una foreign key:
CREATE TABLE `gruppi` (
`GruppoID` int(11) NOT NULL auto_increment,
`comitatoID` int(11) NOT NULL default '0',
`Gruppo` varchar(40) NOT NULL default '',
INDEX (comitatoID),
PRIMARY KEY (`GruppoID`,`comitatoID`),
FOREIGN KEY (comitatoID) REFERENCES comitati (comitatoID) ON DELETE SET DEFAULT,
UNIQUE KEY `Gruppo` (`Gruppo`)
) TYPE=InnoDB;
NON me la fa creare con SET DEFAULT o SET NULL, mentre se metto CASCADE va bene!
Da che dipende secondo voi? Grazie ciao!