Ciao, sto provando a creare la seguente tabella
codice:
create table messaInScena
(
data date,
ora time,
spazio varchar(20),
spettacolo varchar(40),
postiDisponibili smallint,
prezzoIntero decimal(5,2),
prezzoRidotto decimal(5,2),
prezzoStudenti decimal(5,2),
primary key (data, ora, spazio),
foreign key (spazio) references spazio(nome)
on update cascade on delete set null,
foreign key (spettacolo) references spettacolo(titolo)
on update cascade on delete set null,
constraint RA3_1 check (postiDisponibili >= 0)
) ;
ma mi da il seguente errore:
Error Code: 1005 Can't create table 'teatrosql.messainscena' (errno: 150)
Le tabelle a cui fanno riferimento le chiavi esterne sono:
codice:
create table spazio
(
nome varchar(20) primary key,
indirizzo varchar(40) not null,
pianta varchar(20),
capienza smallint
);
create table spettacolo
(
titolo varchar(40) primary key,
descrizione LONGBLOB,
annoProduzione char(4)
);
ho già verificato che le fk siano uniche e che non ci siano errori di battitura (ma date un controllo pure voi che non si sa mai
). Come si può vedere i campi di riferimento sono chiavi primarie. tra campi di riferimento e chiavi esterne i tipi e le dimensioni coincidono..
dove sbaglio???
ps. se serve posto tutte le tabelle