-
funzione FOREIGN KEY....
Volevo avere delucidazioni sulla funzione FOREIGN KEY (chiave esterna)
Io ho scritto questa query
Codice:
create table SCAFFALI
(
id_scaffale integer primary key
);
create table LIBRI
( id_libro char(7) primary key,
titolo varchar(30) not null,
edizione integer not null,
argomento varchar(15) not null,
id_scaffale integer not null,
foreign key (id_scaffale) references SCAFFALI (id_scaffale)
);
Creando queste tabelle in questo modo teoricamente se inserisco un libro con un ID_SCAFFALE che non esiste, dovrebbe darmi un errore o almeno non dovrebbe farmi inserire la riga, invece a me la riga la inserisce lo stesso.
Codice:
ES.
tabella SCAFFALI
id_scaffale=1
Inserisco un nuovo valore nella tabella LIBRI un libro con id_scaffali=3
e me lo inserisce senza problemi quando poi non dovrebbe farlo.
-
la fk ha proprio questa funzione. Per attivarla devi inserire il comando type=innodb dopo l'ultima parentesi e prima del punto e virgola. Forse pero' altervista non supporta innodb. Sarebbe da chiedere dei chiarimenti.
ciao
-
ho provato a mettere il type=innodb ma continua a non funzionare.
Ho apache sul mio computer e il mysql, così da creare un server locale sul mio pc. Come faccio a sapere se la versione del MYSQL che ho io supporta la funzione FK?Mi serve per un progetto che sto facendo all'università.
P.S.Potresti scrivermi la funzione completa sulla base di quella che ho scritto io?
-
mysql non gestisce le relazioni tra le tabelle
-
ma le funzioni UNIQUE funzionano lo stesso?