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

    [MySQL] Gestione relazione many-to-many

    Salve a tutti. Ho una relazione many-to-many tra due tabelle:

    Telefoni (Imei) <---- ha_azioni ---> Azioni (Nome)

    Essendo many-to-many, "ha_azioni" corrisponde ad una nuova tabella:

    ha_azioni (Imei,Nome)

    Le operazioni che dovrei svolgere sono:

    1) Inserimento di un azione dato l'imei e il nome dell'azione
    2) Rimozione di un azione dato l'imei e il nome dell'azione

    Ora, quando vado ad inserire, so per certo che quell'imei ci sta (per come ho sviluppato il tutto). Dovrei quindi effettuare questi passi?
    - Controlla se l'azione esiste nella tabella Azioni. Se non esiste, inserisci l'azione in Azioni
    - Inserisci la coppia Imei|Azione in "ha_azioni" (se tale coppia esiste già, la query dovrebbe fallire)

    Per quanto riguarda la rimozione. Vado direttamente a rimuovere la coppia imei|azione da "ha_azioni" (e la query fallisce se non esiste tale coppia).
    Ma che dovrei fare se andando a rimuovere da "ha_azioni", viene fuori che un azione in "Azioni" non è più referenziata da nessuno?
    Ultima modifica di Javino89; 19-09-2016 a 14:02

  2. #2
    Quote Originariamente inviata da Javino89 Visualizza il messaggio
    Salve a tutti. Ho una relazione many-to-many tra due tabelle:

    Telefoni (Imei) <---- ha_azioni ---> Azioni (Nome)

    Essendo many-to-many, "ha_azioni" corrisponde ad una nuova tabella:

    ha_azioni (Imei,Nome)

    Le operazioni che dovrei svolgere sono:

    1) Inserimento di un azione dato l'imei e il nome dell'azione
    2) Rimozione di un azione dato l'imei e il nome dell'azione

    Ora, quando vado ad inserire, so per certo che quell'imei ci sta (per come ho sviluppato il tutto). Dovrei quindi effettuare questi passi?
    - Controlla se l'azione esiste nella tabella Azioni. Se non esiste, inserisci l'azione in Azioni
    - Inserisci la coppia Imei|Azione in "ha_azioni" (se tale coppia esiste già, la query dovrebbe fallire)

    Per quanto riguarda la rimozione. Vado direttamente a rimuovere la coppia imei|azione da "ha_azioni" (e la query fallisce se non esiste tale coppia).
    Ma che dovrei fare se andando a rimuovere da "ha_azioni", viene fuori che un azione in "Azioni" non è più referenziata da nessuno?


    Se hai chiavi esterne devi sempre fare un controllo quando esegui UPDATE o DELETE, comunque c'è un articolo di html.it dove spiegano molto bene una funzione di SQL che fa questa cosa in automatico, lo puoi trovare a questo indirizzo:

    http://www.html.it/articoli/foreign-...le-in-mysql-3/

  3. #3
    Diamine. Il sito di hosting gratuito che sto usando non supporta InnoDB. E' un errore cercare di gestire il tutto tramite php? Cercando di tamponare il problema..

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.