在SQL中添加自动计算列

时间:2014-06-12 21:04:57

标签: mysql alter-table

我试图在我的SQL表中添加一个自动计算列,这应该很容易。但是,我一直收到一条错误消息,说明语法开头的单词" AS"在下面的输入中:

ALTER TABLE users ADD column_1 AS numerator / denominator;

表"用户"已存在,列和#34;分子"和"分母"。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在您告诉我们您正在使用的数据库系统之前,我们无法确切知道,但大多数系统都需要在您的声明中使用括号。

ALTER TABLE users ADD column_1 AS (numerator / denominator);

答案 1 :(得分:0)

AFAIK。 MySQL并不像SQL Server那样支持内置计算列。有了这个,你有两个选择。

使用column_1声明

添加列ALTER
ALTER TABLE users ADD column_1 ....;

然后UPDATE就像

一样
UPDATE users SET column_1 = numerator/denominator;

(OR)

CREATE A VIEW如下所示,然后根据您的要求使用

CREATE VIEW vw_computed
AS
SELECT col1,col2, numerator/denominator as column_1
FROM users

从视图中选择

select * from vw_computed