Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di exFelino
    Registrato dal
    Jul 2014
    residenza
    Aci Catena (CT)
    Messaggi
    710

    [MySQL] "Sicronizzare" due tabelle tramite il campo di relazione

    Ciao a tutti voi.

    Ho la necessita di "sincronizzare" due tabelle:

    ESEMPLARI
    id, etc....

    EXPO
    id, id_esemplari

    Diciamo che:
    - ESEMPLARI e' la tabella madre con "id" chiave primaria
    - EXPO e' in relazione con la tabella ESEMPLARI tramite la colonna id_esemplari

    Io vorrei che tutti gli id di ESEMPLARI siano contenuti in id_esemplari di EXPO.

    Al momento invece ho una situazione anomala:
    1) non tutti gli id di ESEMPLARI sono contenuti in id_esemplari di EXPO
    2) su EXPO sono presenti id_esemplari che non trovano una corrispondenza in EXPO.

    Come potrei riallineare il tutto?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di exFelino
    Registrato dal
    Jul 2014
    residenza
    Aci Catena (CT)
    Messaggi
    710
    Alla fine ho risolto tramite queste due query:

    codice:
    -- Ho rimosso le righe contenenti gli ID_ESEMPLARI non presenti nella tabella ESEMPLARI
    DELETE FROM expo_westie 
    WHERE NOT EXISTS(SELECT NULL
                        FROM  esemplari f
                       WHERE f.id = id_esemplari)
                       
    -- Ho inserito gli ID della tabella ESEMPLARI non presenti nella tabella EXPO_WESTIE
    INSERT INTO expo_westie (id_esemplari)
    SELECT  id 
    FROM    esemplari
    WHERE id NOT IN (
        SELECT id_esemplari 
            FROM expo_westie
    )
    Magari sarebbe meglio usare una foreign key, vero?

Tag per questa discussione

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.