Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jak wypełnić wartość kolumny mysql na podstawie formuły?

Oto przykład wyzwalacza, który zadziała. Pamiętaj, że będziesz potrzebować zarówno wyzwalaczy aktualizacji, jak i wstawiania ze względu na wymagania dotyczące „aktualizacji 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 ;

Ale czy widok nie byłby prostszy i lepszy?

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

następnie po prostu wybierz z widoku zamiast z tabeli



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Meteor z mysql

  2. MySQL / PHP - Znajdź dostępne przedziały czasowe

  3. Zapytanie o tabele MySQL Update Inner Join

  4. zapytanie sql:jak sprawić, by tagi bez dzieci stały się rodzicami?

  5. enum('tak', 'no') vs tinyint -- którego użyć?