我必须将表命名为“ stuff”和“ given”。我想在'stuff'中添加一个columnt,并在ALTER TABLE之后使用UPDATE。但这仅在那一刻有所不同。我的意思是,新列中的每一个给定数量后都会给出库存数量。 “ stuff”具有“ totalAmount”,给定具有“ amount”。

我用了:

ALTER TABLE stuff ADD stock MEDIUMUNINT UNSIGNED;

UPDATE stuff SET stuff = totalAmount - (SELECT SUM(given.amount) FROM given WHERE id = given.productId);


这仅适用于该UPDATE。在给定金额后,如何使这两个表如此同步,库存是否会受到影响?

提前致谢 :)

最佳答案

在INSERT上为表“ given”创建触发器,该触发器将更新表“ stuff”中的“ stuff”

CREATE TRIGGER [TRIGGER_ALTER_STUFF] ON [dbo].[given]
FOR INSERT, UPDATE
AS
BEGIN
    UPDATE stuff SET stuff = totalAmount - (SELECT SUM(given.amount) FROM given WHERE id = given.productId);
END

关于mysql - MySQL-如何添加与另一个表的多列总和同步的新列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17917599/

10-09 00:57
查看更多