mysql - 执行数学函数作为默认值 MySQL

标签 mysql sql

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

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

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

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

最佳答案

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

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

关于mysql - 执行数学函数作为默认值 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49934824/

相关文章:

mysql - 无法将值插入 Heroku 数据库

mysql - SlashDB 在 MySQL 中执行存储函数后不提交事务

mysql - 无法创建存储函数 - 语法错误?

mysql - 查找表的最常见值

c# - 如何连接多个表?

Mysql:如果存在则重命名表

mysql - 在 MySQL 8.0 (Mac OSX) 中将 secure_file_priv 设置为本地文件夹

mysql - 将连接结果与至少函数组合

MySQL 查询优化 LEFT JOIN 和 DISTINCT

sql - 在 SSIS 脚本组件中将 BlobColumn 转换为字符串