• User Newbie

    Unica transazione

    Ciao a tutti...

    sto tirando su dati da un file xml con java e dovrei metterli dentro ad un database mysql.Come prima cosa ottengo i dati del file.xml in questione e li inserisco in una tabella chiamata "File".Poi in un'altra tabella di nome "Misure" inserisco i dati presenti all'interno del file.xml.
    Ho una foreign key su "Misure" che va verso la primary key di File.
    Ora nel mio programma java ci puo' essere del lasco di tempo, anche se infinitesimale, che va dall'inserimento dei dati del file.xml all'inserimento dei dati in "Misure".Come faccio ad essere sicuro che la primary key presa dalla tabella "File" che andrà poi inserita in ogni riga di "Misure" sia quella giusta e non quella di un altro file_1.xml che si è inserito in quel lasco di tempo infinitesimale?
    Non so se sono riuscito a spiegarmi.....vorrei che inserimento info del file.xml e dei dati in "Misure" sia un'unica transazione per la questione delle chiavi.....

    idee?

    grazie


  • Super User

    scusa ma non ho capito il problema.
    se l'elaborazione è fatta da un tuo programma suppongo che tu faccia le operazioni in modo sequenziale e quindi rispetti la cronologia di inserimento.

    1. apro il file
    2. leggo il file
    3. elaboro le informazioni
    4. memorizzo nel db
    5. fine file? lo chiudo
      altri file? se si apro e ricomincio.

    non capisco dov'è il problema.


  • User Newbie

    voglio essere sicuro che quando vado ad impostare la foreign key di un insert nella tabella_1 (quindi quando vado ad inserire una nuova riga) ricavandola dalla primary key di un insert fatta poco prima nella tabella_2 ,questa sia effettivamente quella e che se nel frattempo malauguratamente ci sia un altro inserimento in tabella_1, questo non influenzi la mia transazione