mysql 动态自动更新计算行
mysql dynamic auto updating calculated row
我正在寻找以下内容!我有 table 个住宅,每个住宅都有一个 ID 对应于它所在的地区。我有一个 table 个地区,其中包含 ID、NAme 和住宅数量。我想要的是每个地区的住宅数量随着住宅从一个地区移动到另一个地区而动态更新。我知道我需要一个触发器来强制更新,但我不确定我需要它是什么,我也不明白如何
INSERT INTO District.resCount SUM(Select * FROM residences R WHERE R.dID = District.ID);
定期。
如果您正在使用 MySQL,
试试这个:
SET @districtID = 'some_id'
SET @rescount = Select count(*) FROM residences WHERE dID = @districtID
INSERT INTO District (ID, rescount) values ( @districtID, @rescount);
或者您可以使用这样的触发器:
CREATE TRIGGER upd_district AFTER INSERT ON residences
FOR EACH ROW
BEGIN
SET @rescount = Select count(*) FROM residences WHERE dID = NEW.dID
UPDATE District SET rescount = @rescount WHERE districtID = NEW.dID
END;
我正在寻找以下内容!我有 table 个住宅,每个住宅都有一个 ID 对应于它所在的地区。我有一个 table 个地区,其中包含 ID、NAme 和住宅数量。我想要的是每个地区的住宅数量随着住宅从一个地区移动到另一个地区而动态更新。我知道我需要一个触发器来强制更新,但我不确定我需要它是什么,我也不明白如何
INSERT INTO District.resCount SUM(Select * FROM residences R WHERE R.dID = District.ID);
定期。
如果您正在使用 MySQL, 试试这个:
SET @districtID = 'some_id'
SET @rescount = Select count(*) FROM residences WHERE dID = @districtID
INSERT INTO District (ID, rescount) values ( @districtID, @rescount);
或者您可以使用这样的触发器:
CREATE TRIGGER upd_district AFTER INSERT ON residences
FOR EACH ROW
BEGIN
SET @rescount = Select count(*) FROM residences WHERE dID = NEW.dID
UPDATE District SET rescount = @rescount WHERE districtID = NEW.dID
END;