ciao a tutti, come si realizza una chiave esterna in mysql?
ciao a tutti, come si realizza una chiave esterna in mysql?
Inizia a leggere questo articolo, c'è quasi tutto...
ok,grazie ho cominciato a leggere, ma che è "InnoDB" ? Che è un'operazione particolare da fare nel db per poter realizzare le chiavi esterne?
E' un particolare "tipo" di tabella, grazie al quale è possibile sfruttare, tra le varie cose, anche le foreign key (chiavi esterne).
e in phpmyadmin come si fa a creare questa tabella speciale?
Se hai MySQL 4.0 le InnoDB sono attive di default. Comunque, con phpmyadmin puoi scegliere il tipo di tabella dalla sezione dedicata alla definizione dei campi.
Prima crei il database, poi scegli il nome e il numero di campi della tabella e quando ti si presenta la schermata per indicare le caretteristiche dei singoli campi, scegli il tipo di tabella dal box "Motore di Memorizzazione", si trova in basso, nella stessa pagina.
su phpmyadmin in "Motore di Memorizzazione" però vedo solo le voci:Originariamente inviato da neida
Se hai MySQL 4.0 le InnoDB sono attive di default. Comunque, con phpmyadmin puoi scegliere il tipo di tabella dalla sezione dedicata alla definizione dei campi.
Prima crei il database, poi scegli il nome e il numero di campi della tabella e quando ti si presenta la schermata per indicare le caretteristiche dei singoli campi, scegli il tipo di tabella dal box "Motore di Memorizzazione", si trova in basso, nella stessa pagina.
MylSAM
MEMORY
ARCHIVE
MRG_MYISAM
purtroppo la voce InnoDB non c'è![]()
Sono sempre io prinzart.![]()
Se non trovo la voce InnoDB quindi vuol dire che ho MySQL 4.0 e quindi le InnoDB sono attive di default?
sono andato ora a controllare in "motori" e di innodb mi dice questo "InnoDB è stato disabilitato su questo server MySQL" quindi? Che devo fare per abilitarlo?
ahhh ora si spiega tutto, su Aruba InnoDB è a pagamento ecco perchè non riuscivo ad attivarlo! Vabbè ne farò a meno. Però almeno ho imparato una cosa nuova![]()
DOMANDA 1) Ma in un db mysql, come si fa una chiave esterna?
Forse si fa così?
DOMANDA 2) Se al posto di usare InnoDB e di conseguenza le fk, per prelevare i dati fra le varie tabelle usassi JOIN ?TABELLA A
id_tabella_a
id_tabella_b (basta inserire la pk di un'altra tabella per avere una fk?)
nome_allievo
cognome_allievo
data_nascita_allievo
sesso_allievo
TABELLA B
id_tabella_b
nome_corso
data_corso
luogo_corso