Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di abbax
    Registrato dal
    Feb 2009
    Messaggi
    227

    [mysql] vincoli integrità referenziale

    salve a tutti, sto tentando di fare un sito che si appoggi su un semplice db. Ho fatto tutto aiutandomi con easy php (ovviamente sono quindi su windows) che ha la versione mysql 5.5.10
    Ho visto che per mettere le chiavi esterne andrebbe utilizzato il motore innodb, il problema è che non so come impostarlo. Ho fatto una giratina sul my.ini e ho trovato una pezzo del genere:
    # Uncomment the following if you are using InnoDB tables #innodb_data_home_dir = C:\mysql\data/ #innodb_data_file_path = ibdata1:10M:autoextend #innodb_log_group_home_dir = C:\mysql\data/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 16M #innodb_additional_mem_pool_size = 2M # Set .._log_file_size to 25 % of buffer pool size #innodb_log_file_size = 5M #innodb_log_buffer_size = 8M #innodb_flush_log_at_trx_commit = 1 #innodb_lock_wait_timeout = 50
    ho tolto i commenti e non mi ha funzionato più nulla... quindi come fare???

    PS: ho provato a impostare dal desiner on update cascade ma purtroppo non fa

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: [mysql] vincoli integrità referenziale

    Originariamente inviato da abbax
    salve a tutti, sto tentando di fare un sito che si appoggi su un semplice db. Ho fatto tutto aiutandomi con easy php (ovviamente sono quindi su windows) che ha la versione mysql 5.5.10
    Ho visto che per mettere le chiavi esterne andrebbe utilizzato il motore innodb, il problema è che non so come impostarlo. Ho fatto una giratina sul my.ini e ho trovato una pezzo del genere:

    ho tolto i commenti e non mi ha funzionato più nulla... quindi come fare???

    PS: ho provato a impostare dal desiner on update cascade ma purtroppo non fa
    Innodb è già installato per default al 99.999999999999% in mysql 5.5, quindi non dovresti far nulla, se non cambiare l'engine utilizzato (niente modifiche in my.ini) con ALTER TABLE.

    Per esserne sicuro ti basta
    codice:
    SHOW ENGINES;
    Personalmente non ti consiglio di usare vincoli di questo genere, appoggiandoti invece lato applicazione, ma è questione di abitudini (=> rendi il programma facilmente portabile verso altri RDBMS, postgres al primissimo posto se vuoi fare un'applicazione da vendere)

  3. #3
    Utente di HTML.it L'avatar di abbax
    Registrato dal
    Feb 2009
    Messaggi
    227
    il motore c'è ED è PURE DI DEFAUILT però non me lo fa usare, o almeno credo che il motivo sia questo

    se vado su mysqladmin e vado sul desiner non mi fa fare i collegamenti (mi dice relazione non aggiunta) tra le tabelle e questo mi serve per forza
    anche perchè non saprei come fare senza chiavi esterne, non sono molto esperto e quindi non saprei come non usarle

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    non ho capito un granchè.

    hai convertito le tabelle in Innodb?

  5. #5
    Utente di HTML.it L'avatar di abbax
    Registrato dal
    Feb 2009
    Messaggi
    227
    è quello che vorrei fare ma non so come
    mi serve per poter fare i vincoli referenziali

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    ALTER TABLE pippo ENGINE = InnoDb;

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 © 2026 vBulletin Solutions, Inc. All rights reserved.