Ciao,<div>scrivere la stessa informazione (cf varchar(30)) in due tabelle é fondamentalmente non corretto.</div><div>Che tipo di relazione ti servirebbe? Molti a molti? oppure uno a molti?</div><div><br></div><div>Se ti serve uno a molti: ad ogni anagrafica hai un solo recapito, ad un recapito puoi avere più di una anagrafica.</div><div>recapiti (id, ...)</div><div>anagrafica (id, id_recapito, ..., cf)</div><div><br></div><div>e non hai bisogno della tabella intermedia.</div><div><br></div><div>Se ti serve molti a molti: ad ogni una anagrafica hai più recapiti, ad ogni recapito hai più anagrafiche.</div><div>recapiti (id, ...)</div><div>anagrafica (id, ..., cf)</div><div>intermedia (id_recapito, id_anagrafica)</div><div><br></div><div>poi interrogando le tabelle puoi tirare fuori tutto quello che ti serve sapere</div><div>
<br>
<blockquote>
----Messaggio originale----<br>
Da: gicoan62@gmail.com<br>
Data: 4-ott-2013 14.24<br>
A: <imolug@lists.linux.it><br>
Ogg: [ImoLUG] Mysql 5.5 e modo per semplificare la vita<br>
<br>
<!--
-->
Buongiorno a tutti:<br>
ho un db mysql 5.5 chiamato ambulatorio che contiene 3 tabelle:<br>
<ul>
<li>anagrafica(id int not null auto_increment primary key ... cf
varchar(30));</li>
<li>recapiti(id int not null auto_increment primary key ...);</li>
<li>intermedia(id INT che referenzia recapiti.id, cf(varchar(30)
che referenzia anagrafica.cf)</li>
</ul>
Volendo inserire i dati in intermedia senza preoccuparmi di
conoscerli, ho fatto la seguente query insetr:<br>
<br>
INSERT INTO intermedia SELECT id,cf FROM anagrafica WHERE
anagrafica.id=LAST_INSERT_ID();<br>
<br>
e funziona se la richiamo dopo ogni inserimento di dati in
anagrafica.<br>
<br>
Ma vorrei partisse automaticamente, senza chiamare la query. come
posso fare? la faccio diventare un trigger con funzioni AFTER
INSERT?<br>
<br>
</blockquote><br>
</div>