Originariamente inviato da piero.mac
Intanto richiami una tabella "referenti" che pare non esista e inoltre mi pare che tu voglia con ON DELETE e ON UPDATE modificare la tua stessa tabella.
Ok...
diciamo che: la tabella referenti non l'ho postata perchè mi sembrava superfluo, ma copia-incollando la tabella edizioni, mi sono scordato di cancellarne i riferimenti

Nella tabella eventi, vorrei che se venisse cancellata una categoria, non venga cancellato anche l'evento, potrei mettere NO ACTION, in modo che il db si rifiuti di cancellare una categoria che ha ancora eventi associati?

Originariamente inviato da piero.mac
Non puoi settare a NULL oppure aggiornare un ID chiave primaria di altra tabella. Oltretutto non avrebbe senso se nella cancellazione di un record in "eventi" venisse posto a NULL la chiave primaria della categoria stessa.

Caso mai e' che se modifichi o cancelli una categoria devono essere rimossi/modificati gli eventi associati.

L'azione che richiedi verrebbe esercitata sulla tabella di riferimento. Direi che la foreign key che hai messo in eventi debba essere invece considerata in categorieEventi.


Ma soprattutto, se viene cancellato un evento, non voglio che cancelli anche le edizioni, importantissime per tenere lo storico della pizzeria.

Forse banalmente basta cancellare le azioni referenziali ON DELETE?

In ogni caso non posso inserire la chiave esterna in categrieEventi, perche più eventi possono essere della medesima categoria, e non devo creare una categoria per ogni pizzeria

Mi piacerebbe se mi dessi ulteriori indicazioni
Grazie per ora