[英]mySQL 5.7 - calculated column / trigger function
我需要在mySQL表中做簡單的數學運算。
我有一個表paying_tbl,其中的字段為:正常,罰款,退款,並嘗試添加已提交的未付帳款,這是正常+罰款+退款?
Payment_tbl的代碼:
create table payment_tbl (
payment_id INT (10) PRIMARY KEY AUTO_INCREMENT,
payment_amount decimal (5,2) not null,
payment_date DATE not null,
normal decimal (5,2) not null,
penalty decimal (5,2) not null,
refund decimal (5,2) not null,
out decimal (5,2));
INSERT into payment_tbl (
payment_amount,
payment_date,
normal,
penalty,
refund)
values ('5.55', '2015-05-05', '5.55','0', '0');
所以我想把列作為所有三筆付款的總和嗎?
這是生成的列的文檔:
CREATE TABLE payment_tbl(
payment_id INT (10) PRIMARY KEY AUTO_INCREMENT,
payment_amount decimal (5,2) not null,
payment_date DATE not null,
normal decimal (5,2) not null,
penalty decimal (5,2) not null,
refund decimal (5,2) not null,
`out` decimal (5,2) AS (normal+penalty+refund)
);
我將out
列的定義修改為其他3列的總和。 您不需要觸發器。
您可以使用此查詢中的一個來添加COLUMN。 如果您使用PERSISTENT查詢,還可以在此列上添加一個INDEX。
ALTER TABLE payment_tbl
ADD COLUMN `out` DECIMAL(5,2) AS ( normal + penalty + refund) VIRTUAL;
ALTER TABLE payment_tbl
ADD COLUMN `outp` DECIMAL(5,2) AS ( normal + penalty + refund) PERSISTENT;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.