mysql查询的结果未存储在数据库中

ocebsuys  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(487)

我的简单目标是添加2个值,并使用phpmyadmin中的sql选项将结果存储在mysql数据库的另一列中。
我使用的查询显示了我的期望结果(到目前为止还不错)。但只要我点击表格,以刷新页面中的结果就不见了。

我的问题: SELECT *, (price + fee) as total FROM products;
当我点击左边列中的表名时,我又看到了第一个图像的内容。好像这个问题从来没有发生过。
为了正确存储数据,有没有改进查询的建议?

goucqfw6

goucqfw61#

您没有在数据库中存储任何值,只是从 products 表并添加一个临时列和另外两列之和。此列仅存在于刚刚执行的查询的结果中。
您可以通过创建视图来实现所需的功能:

CREATE VIEW products_sum AS SELECT *, (price + fee) as total FROM products

然后,您可以:

SELECT * FROM products_sum

我建议您将sum列的名称改为另一个,因为您有另一个同名的列。如果计划将总计存储在“总计”列中,则必须执行更新instad:

UPDATE products SET total = (price+fee)
ttygqcqt

ttygqcqt2#

作为当前的解决方案,您可以添加其他字段和用于更新此字段的触发器

ALTER TABLE products ADD sum INT

并添加触发器

CREATE TRIGGER newtrigger AFTER INSERT
ON products
FOR EACH ROW
UPDATE products SET NEW.sum=NEW.price+NEW.fee

相关问题