I trigger sono delle istruzioni SQL che vengono scatenate quando viene fatta una determinata operazione (INSERT, UPDATE oppure DELETE) su una tabella.
Trovi un sacco di tutorial online (anche in questo sito) che spiegano come funzionano e come creare trigger.
Nel tuo specifico caso ti servirà un trigger "ON UPDATE".
Nessuno ti vieta di gestire questa cosa anche da PHP o da qualsiasi altro linguaggio di programmazione con cui avrai scritto la tua utility.
Nel momento del salvataggio della form o della pagina web dei dati dell'editore lanci una query del tipo UPDATE libro SET stato=0 WHERE editore = ?
Dove al ? devi sostiuite l'id dell'editore che stai aggiornando.
ON UPDATE CASCADE riguarda sempre i vincoli di chiave esterna e ha senso solo se la chiave primaria non è di tipo AUTOINCREMENT (in quanto un campo di questo tipo non può essere aggiornato). Se aggiorni il valore della chiave primaria questo verrà propagato in tutte le tabelle che hanno il vincolo di chiave esterna con quella chiave primaria.

Rispondi quotando