【发布时间】:2013-08-08 23:14:51
【问题描述】:
我以前问过这个问题,我想详细说明一下。
Triggers to connect multiple tables
我有以下触发器(有点像我之前问过的那个):
CREATE TRIGGER trigger_test1
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.OriginIndex = (SELECT index1 FROM cities WHERE city = NEW.Origin),
NEW.DestinationIndex = (SELECT index1 FROM cities WHERE city =NEW.Destination);
这部分效果很好。现在我想将 OriginIndex 和 DestinationIndex 相乘并将其存储在另一列中(比如说“乘法”)。
我这样做了:
CREATE TRIGGER trigger_test1
BEFORE INSERT ON test1
FOR EACH ROW
SET NEW.OriginIndex = (SELECT index1 FROM cities WHERE city = NEW.Origin),
NEW.DestinationIndex = (SELECT index1 FROM cities WHERE city =NEW.Destination),
NEW.Multiplication = (SELECT NEW.OriginIndex*NEW.DestinationIndex);
这会给出错误“此版本的 MySQL 尚不支持“一个表具有相同操作时间和事件的多个触发器”。
我应该如何解决这个问题?
【问题讨论】:
-
OriginIndex 和 DestinationIndex 是双倍 (10,4)。
标签: mysql database phpmyadmin multiplication