gpt4 book ai didi

mysql - 在mysql中的表中添加一个包含数据的列

转载 作者:行者123 更新时间:2023-11-29 07:27:43 26 4
gpt4 key购买 nike

现在我想在 SQL 中向现有表中添加一个包含已有数据的新列,我应该怎么做。

假设我有一个包含列(id、价格、数量)的临时表,其数据如下所示:

id   price   quantity
01 3 4
02 8 2
03 9 1

现在我想使用代码导出列调用收入:

select id, price * quantity as revenue
from temp;

结果应该是这样的:

id   revenue
01 12
02 16
03 9

现在我想将此收入添加到具有此处现有数据的临时表中

我试过用'as'改变表但它不起作用,我也试过用收入创建一个新表,在表中创建一个新列然后使用'update'会给我这样的东西:

 id   price   quantity revenue
01 3 4
02 8 2
03 9 1
null null null 12
null null null 16
null null null 9

那我该怎么办?

最佳答案

我建议不要为您的收入表实际添加一个新列,因为它只是从其他列派生而来。相反,考虑创建一个 View :

CREATE VIEW temp_revenue AS
SELECT id, price * quantity AS revenue
FROM temp;

如果您使用的是 NDB 存储引擎,那么您还可以利用计算列,例如

CREATE TABLE temp (
id INT AUTO_INCREMENT,
price DECIMAL(13,2) NOT NULL,
quantity INT NOT NULL,
revenue DECIMAL(13, 2) AS price * quantity,
PRIMARY KEY (id)
);

但是,如果您使用的是 MyISAM 或 InnoDB,这将不是您的选择。

关于mysql - 在mysql中的表中添加一个包含数据的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52980424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com