Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema con chivi esterne....

    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--

  2. #2
    Nessuono lo sa?!?!
    --Giuseppe--

  3. #3
    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

  4. #4
    Ah grazie..ma nn succede nulla al db?!?!
    --Giuseppe--

  5. #5
    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

  6. #6
    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--

  7. #7
    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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.