Ho dato una sommaria lettura al codice e mi pare che sia impostato non troppo bene. 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.
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.

Rispondi quotando