Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL触发器中出现错误_Mysql_Sql_Database_Triggers - Fatal编程技术网

Mysql SQL触发器中出现错误

Mysql SQL触发器中出现错误,mysql,sql,database,triggers,Mysql,Sql,Database,Triggers,我有两个表,Portfolio和Transactions。当您在交易中插入Transaction\u Amount值时,投资组合也应更新。以下是表格结构 我创建了一个触发器,因此每当我在交易中插入一个值时,投资组合也会更新 下面是我的MYSQL触发器 USE `custom_sample`; DELIMITER $$ CREATE TRIGGER `Transactions_AINS` AFTER INSERT ON `Transactions` FOR EACH ROW UPDATE Por

我有两个表,
Portfolio
Transactions
。当您在交易中插入
Transaction\u Amount
值时,投资组合也应更新。以下是表格结构

我创建了一个触发器,因此每当我在
交易
中插入一个值时,
投资组合
也会更新

下面是我的MYSQL触发器

USE `custom_sample`;
DELIMITER $$
CREATE TRIGGER `Transactions_AINS` AFTER INSERT ON `Transactions` FOR EACH ROW
UPDATE Portfolio 
SET Invest_Amount = Invest_Amount+Transactions.Transaction_Amount
where
Portfolio.idPortfolio = Transactions.idPortfolio
然而,这并没有起作用。where子句中的
Unknown column Transactions.idPortfolio


我的脚本有什么问题?

触发表的记录可以由
NEW
(或
OLD
,用于更新之前的值)而不是表名引用

CREATE TRIGGER `Transactions_AINS` AFTER INSERT ON `Transactions` 
FOR EACH ROW
    UPDATE Portfolio 
    SET Invest_Amount = Invest_Amount + NEW.Transaction_Amount
    WHERE idPortfolio = NEW.idPortfolio