执行数学函数作为MySQL的默认值

时间:2018-04-20 05:48:21

标签: mysql sql

我有一个存储调查结果的MySQL数据库。在数据库中,我希望有一个单元格,用于计算输入数据库的调查得分。 为了尝试实现这一点,我将单元格的默认值设置为:

SELECT SUM((Q1 + Q2 + Q3) * 2) FROM scores;

但是,这会在PHPMyAdmin中返回一个错误,指出该单元格的默认值无效。

另外,我假设(如果这样做)它将计算表中每个Q1,Q2和Q3字段的总和。我如何确保单元格仅计算它所在行的总和?

1 个答案:

答案 0 :(得分:0)

如果您使用的是MySQL 5.7或更高版本,则可以通过CREATE TABLE声明中的计算列执行此操作:

CREATE TABLE scores (
    Q1 INT,
    Q2 INT,
    Q3 INT,
    total AS (Q1 + Q2 + Q3)
);