id data1 data2
1 10 15
2 10 20
我有这个表,我想在此表中添加新列(点)。
id data1 data2 point
1 100 105 5
2 100 200 100
我想通过计算此公式来添加此点值,如下所示:
point = (data2 - data1)/data1 * 100
如何将此值添加到点列?
请告诉我。 感谢
答案 0 :(得分:2)
为什么不使用VIEW
CREATE VIEW vw_Table1 AS
SELECT id, data1, data2, (data2 - data1)/data1 * 100 point
FROM table1
<强> SQLFiddle 强>
答案 1 :(得分:0)
我认为您可以在插入/更新data1和data2列中的值后使用after insert/update
触发器更新点列。
您可以参考Creating Triggers in MySQL了解更多详情。
答案 2 :(得分:0)
您可以使用触发器将其更新为@Yogendra Singh说,但如果它是一次性的话,那么您可以在一个UPDATE语句中执行:
ALTER TABLE data ADD COLUMN point integer;
UPDATE data SET point = (data2 - data1)/data1 * 100;
触发器功能如下:
CREATE TRIGGER update_point BEFORE INSERT ON data
FOR EACH ROW BEGIN
SET NEW.point = (data2 - data1)/data1 * 100;
END;