Mi spiego con un esempio
Poniamo che ho una tabella utenti con due campi id username, con 2 record
poi ho una tabella profilo_utenti con tre campi id, id_user (relazionato con la tabella utenti), email, con 1 recordcodice:+-----------------+ + id | username + +-----------------+ 2 piero.mac 4 oly1982
Un bel giorno decido di eliminare tutti gli utenti della tabella utenti. dovrei cancellare anche i profili... ma non lo faccio... è un esempio...codice:+---------------------------------------+ + id | id_user | email + +---------------------------------------+ 2 4 oly1982@dominio.it
Se faccio il TRUNCATE della tabella utenti l'id ripartirà da 1 e il 4° record inserito si troverà relazionato con il record della tabella profilo che prima del TRUNCATE era relazionato all'utente oly1982.
Se invece avessi fatto un DELETE ciò non si sarebbe verificato dato che l'id non sarebbe stato resettato e, quindi, il caso sopra esposto non si sarebbe verificato.
Analogo problema si presenta nel caso in cui "inavvertitamente" cercassi di fare l'UPDATE di un id della tabella utenti. Ma se l'id è PRIMARY KEY tale query non può essere effettuata (per quel che pochissimo ne sò).

Rispondi quotando