Alhazred
25-09-2008, 18:34
Nel mio DB ho due tabele, Possiede e Conto, devo fare in modo che cancellando una riga nella tabella Possiede si cancelli quella collegata in Conto e questo mi riesce. Ora dovrei fare in modo che sulla tabella Conto siano possibili cancellazioni automatiche solo a seguito di una cancellazione in Possiede, cancellazioni dirette su Conto non devono essere possibili. Come faccio?
Cosė č come costruisco le tabelle in questione:
create table Conto (
numeroConto int not null auto_increment,
saldo float(2) default 0,
primary key (numeroConto)
)
engine=innodb;
create table Possiede (
Cliente varchar(10) primary key,
Conto int not null auto_increment,
Key (conto)
)
engine=innodb;
ALTER TABLE Conto ADD CONSTRAINT fk_Conto_Possiede FOREIGN KEY (NumeroConto) REFERENCES Possiede(conto) ON DELETE CASCADE ON UPDATE NO ACTION;
Cosė č come costruisco le tabelle in questione:
create table Conto (
numeroConto int not null auto_increment,
saldo float(2) default 0,
primary key (numeroConto)
)
engine=innodb;
create table Possiede (
Cliente varchar(10) primary key,
Conto int not null auto_increment,
Key (conto)
)
engine=innodb;
ALTER TABLE Conto ADD CONSTRAINT fk_Conto_Possiede FOREIGN KEY (NumeroConto) REFERENCES Possiede(conto) ON DELETE CASCADE ON UPDATE NO ACTION;