Ciao ragazzi..ho appena terminato il mio database con Mysql..e mi sono accorto di non aver definito due chiavi esterne come tali..adesso cerco di farlo ma mi da errore come posso cmq dichiararle in questo modo?!?!
Grazie.;-)
Ciao ragazzi..ho appena terminato il mio database con Mysql..e mi sono accorto di non aver definito due chiavi esterne come tali..adesso cerco di farlo ma mi da errore come posso cmq dichiararle in questo modo?!?!
Grazie.;-)
--Giuseppe--
Nessuono lo sa?!?!
--Giuseppe--
Che motore hai impostato per le tabelle?
MySQL di default utilizza MyISAM, che però non supporta le chiavi esterne.
Per avere il supporto delle chiavi esterne su MySQL devi quindi utilizzare InnoDB.
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property
Ah grazie..ma nn succede nulla al db?!?!
--Giuseppe--
No, non succede nulla.
Il DB usa un motore di calcolo per organizzare, catalogare e ritrovare i dati, e nella creazione di un DB puoi scegliere tra alcuni motori disponibili.
MyISAM è un po' più performante per molti tipi di query, ma InnoDB ha delle caratteristiche che MyISAM non supporta, come appunto quello delle chiavi esterne, per questo è talvolta una scelta preferenziale per database che hanno dei requisiti particolari.
Dal punto di vista dell'architettura del DB non devi cambiare niente né la modifica comporta qualche conseguenza, nella struttura o nelle collation o nei campi o in qualsiasi altra cosa.
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property
Emanuele ho appena controllato ma le tabelle sn già impostate con InnoDB!!!!
Infatti alcune chiavi esterne mi permette di definirle tali, altre no!!!!
Where is the problem?!?!
--Giuseppe--
Cosa usi per definirle? Il prompt mysql> o phpMyAdmin?
Prova a postare la query che usi per definire le FOREIGN KEYS.
Considera comunque che le Foreign keys sono implementabili se:
- entrambe le tabelle siano di tipo InnoDB
- entrambe le tabelle abbiano un indice in cui i campi interessati siano indicati come primo campo
- non siano inclusi campi di tipo BLOB o TEXT nelle chiavi usate
Leggi anche queste altre controindicazioni:
http://database.html.it/articoli/leg...abelle-in-m/2/
Emanuele DG
<?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
Intellectual property