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

come popolare il valore della colonna MySQL in base a una formula?

Ecco un esempio di un trigger che funzionerà. Tieni presente che avrai bisogno sia dell'aggiornamento che dell'inserimento dei trigger a causa dei tuoi requisiti di "aggiornamento ad hoc".

delimiter ~

create trigger my_table_update before update on my_table
for each row begin
    set new.grand_total = new.item_price - new.discount + new.delivery_charge;
end~

create trigger my_table_insert before insert on my_table
for each row begin
    set new.grand_total = new.item_price - new.discount + new.delivery_charge;
end~

delimiter ;

Ma una vista non sarebbe più semplice e migliore?

create view my_table_view as
select item_price, discount, delivery_charge, 
item_price - discount + delivery_charge as grand_total
from my_table;

quindi seleziona dalla vista invece che dalla tabella