Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como preencher o valor da coluna mysql com base em uma fórmula?


Aqui está um exemplo de um gatilho que funcionará. Observe que você precisará de acionadores de atualização e inserção devido aos seus requisitos de "atualização 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 ;

Mas uma visão não seria mais simples e melhor?
create view my_table_view as
select item_price, discount, delivery_charge, 
item_price - discount + delivery_charge as grand_total
from my_table;

em seguida, basta selecionar na exibição em vez da tabela