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

    [SQL]Come aggiungere relazioni tra tabelle

    Ho le seguenti tabelle
    codice:
    TABELLA PRODOTTI
    id|nome|descrizione|prezzo|immagine
    codice:
    TABELLA RELAZIONE SEZIONI<->PRODOTTI
    id_relazione|id_prodotto|id_sezione
    Ora devo inserire una relazione tra le due tabelle (gia' esistenti) tenendo conto che quando io elimino un articolo in prodotti viene eliminato anche la relativa relazione con la sezione.
    Chi sa aiutarmi a fare la query???

    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  2. #2
    ALTER TABLE `sezioni_prodotti` ADD CONSTRAINT `FK_sezioni_prodotti_1` FOREIGN KEY `FK_sezioni_prodotti_1` (`id_prodotto`)
    REFERENCES `prodotti` (`id`)
    ON DELETE CASCADE;


    ovviamente devi usare tabelle InnoDB.

  3. #3
    Originariamente inviato da skidx
    ALTER TABLE `sezioni_prodotti` ADD CONSTRAINT `FK_sezioni_prodotti_1` FOREIGN KEY `FK_sezioni_prodotti_1` (`id_prodotto`)
    REFERENCES `prodotti` (`id`)
    ON DELETE CASCADE;


    ovviamente devi usare tabelle InnoDB.
    VVoVe: VVoVe:
    non me lo dire.....
    ma io devo usare la chiave fulltext e la tabella deve essere MyIsam

    O mio Dio, ed ora come faccio???
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  4. #4
    Originariamente inviato da sanbiv
    O mio Dio
    hanno ucciso Kenny, brutti bastardi!

    ahem, dicevamo, se devi usare per forza MyIsam, non puoi usare transazioni né foreign key per integrità referenziale, quindi devi fare tutto a mano a livello applicazione, cioè quando fai la query per cancellare un prodotto, devi fare anche quella per cancellare i record delle relazioni, sperando che vada tutto bene

  5. #5
    Ma non esiste una soluzione senza esclusioni....
    Io vorrei le ralazioni fra le tabelle ed allo stesso tempo le chiavi Fulltext....
    Perche' uno non sopporta l'altro????
    Ma che differenza c'e' tra Inno DB e MyISAM???
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  6. #6
    le innodb hanno supporto transazionale e integrità referenziale, lock a livello di riga e non supportano gli indici fulltext.

    le myisam hanno gli indici fulltext, lock a livello di tabella, e gli manca tutto il resto

    Puoi avere tabelle di entrambi i tipi nello stesso database.

  7. #7
    Ma a livello di prestazioni sono migliori le innoDB o le MyISAM, e poi dato che quest'ultime sono un po' vecchiotte e meglio abbandonarle o e' preferibile usarle con MySQL???
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

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.