News:

Ritornati online con una nuova veste grafica

Menu principale

[MySQL]: Modificare un id con l'id di altra tabella

Aperto da bartjsp, 23 Luglio 2006, 02:03:34

Discussione precedente - Discussione successiva

bartjsp

Ho un problema con delle tabelle che prima risiedevano su due db diversi
e non avevano nessuna correlazione fra di loro, ognuno funzionava per i
fatti propri, adesso devo invece unificarli sotto un unico db e in qui tutto ok,
il problema nasce per due tabelle che hanno alcuni dati in comune ma con id
diverso tra loro e bisogna farli diventare simili per ogni record.



NOME TABELLA   |   NOME CAMPO
-----------------------------------------------
ass_palermo   |   nominativo (varchar)
prest_palermo   |   id_assistito (int)
anagrafica   |   id_anagrafica (int)


la tabella prest_palermo non ha nominativo, è collegata alla tabella ass_palermo
attraverso la chiave id_assistito;


il Sig. Mario Rossi nella tabella "ass_palermo" e "prest_palermo" ha id_assistito: 10;
il Sig. Mario Rossi nella tabella "anagrafica" ha id_assistito: 23;

il problema è il seguente, l'id_assistito della tabella "prest_palermo"
deve diventare lo stesso della tabella anagrafica, ovvero id_assistito 23.


Si protrebbe fare un operazione singola per ogni record, ma purtroppo parliamo
di migliaia di record, parlo di migliaia perché le tabelle prest sono 5 quindi,
una per ogni città in cui l'azienda ha sede, quindi, non è possibile agire in
modo manuale.
Esiste un modo veloce in sql o con l'aiuto di php che permetta di fare ciò?  

Grazie,
ciao.
Libero ADSL 2+ 4mbit

eMule 0.48a ***UniATeam Mod ver. 2.6 ***
TCP 7070
UDP 7071

ilSilente

Il problema è: se nella due tabelle hai 2 mario rossi come fai a distinguerli?

davidonzo

C'è un problema di struttura del database. Problema sopravvenuto nel momento in cui vuoi usare tabelle prima indipendenti, in modo interdipendente.

I "nomi" non vanno riportati in tabelle diverse da "Anagrafica". Non ha senso, ed è cosa pericolosa, per i motivi che faceva notare ilSilente.

Potresti postare la struttura di ogni tabella? Se il senso delle tabelle è sempre lo stesso, potresti fonderle aggiungendo un campo "tipologia".
Ma serve capire come usi le tabelle. Postando struttura completa e ratio di ogni tabella si potrebbe essere più precisi.

PS: impostando una adeguata query non ci dovrebbero essere problemi di sorta ad agire su migliaia di record in poco tempo... ma serve capire "cosa fare"
davidonzo - anche detto damionzo, ultimamente definito "ragazzino modniubbione"
Se non abbocca all'amo prova con......."ti stimo tantissimo".......
My Blog
Prima di postare fai una Ricerca :-)