Ciao a tutti,
ho un db con due semplici tabelle, composte dai seguenti campi:
Tabella a : ID, FLAG
Tabella b : ID, ID_A, FLAG
Chiaramente i campi ID sono autoincrement, i FLAG sono dei boolean, mentre ID_A è un intero. Il rapporto tra le due è di 1 record per A e 4 record per B, relazionati tra loro tramite il campo ID_A della tabella B legato al campi ID della tabella A.
Ho la necessità di aggiornare i campi FLAG delle due tabelle contemporaneamente, ed ho trovato due soluzioni, volevo sapere quale secondo voi è la migliore, o se ce ne sono altre più funzionali:
1) "UPDATE a INNER JOIN b ON b.ID_A = a.ID SET a.FLAG = FALSE, b.FLAG = FALSE WHERE a.ID = 1"
Faccio tutto con una query ma il valore a.FLAG viene scritto 4 volte inutilmente (o sbaglio?)
2) "UPDATE a SET a.FLAG = FALSE WHERE a.ID = 1"
"UPDATE b INNER JOIN a ON b.ID_A = a.ID SET b.FLAG = FALSE WHERE a.ID = 1"
Doppia query ma scrittura mirata nelle due tabelle
Cosa ne pensate ?
grazie
Riccardo
ho un db con due semplici tabelle, composte dai seguenti campi:
Tabella a : ID, FLAG
Tabella b : ID, ID_A, FLAG
Chiaramente i campi ID sono autoincrement, i FLAG sono dei boolean, mentre ID_A è un intero. Il rapporto tra le due è di 1 record per A e 4 record per B, relazionati tra loro tramite il campo ID_A della tabella B legato al campi ID della tabella A.
Ho la necessità di aggiornare i campi FLAG delle due tabelle contemporaneamente, ed ho trovato due soluzioni, volevo sapere quale secondo voi è la migliore, o se ce ne sono altre più funzionali:
1) "UPDATE a INNER JOIN b ON b.ID_A = a.ID SET a.FLAG = FALSE, b.FLAG = FALSE WHERE a.ID = 1"
Faccio tutto con una query ma il valore a.FLAG viene scritto 4 volte inutilmente (o sbaglio?)
2) "UPDATE a SET a.FLAG = FALSE WHERE a.ID = 1"
"UPDATE b INNER JOIN a ON b.ID_A = a.ID SET b.FLAG = FALSE WHERE a.ID = 1"
Doppia query ma scrittura mirata nelle due tabelle
Cosa ne pensate ?
grazie
Riccardo