Mysql
 sql >> Database >  >> RDS >> Mysql

Problemi di attivazione di MySQL

Il problema è che non è possibile modificare la tabella che ha richiamato questo trigger. È una restrizione.

Prova a utilizzare un trigger BEFORE INSERT e imposta nuovi valori prima di inserire i dati. Ad esempio:

CREATE TRIGGER anomes
BEFORE INSERT
ON formulario
FOR EACH ROW
BEGIN
  SET NEW.ano = EXTRACT(year FROM NEW.create_date);
  SET NEW.mes = EXTRACT(month FROM NEW.create_date); 
END

E la domanda:perché memorizzerai questi dati nella tabella? Puoi calcolarlo al volo nella query SELECT.