【发布时间】:2018-05-06 20:14:51
【问题描述】:
所以我目前正在研究 MySQL 触发器。我试图在插入新记录时为两个变量赋值。以下是查询:
SET mssgDocNo = (SELECT Document_ID FROM CORE_MSSG WHERE Message_ID = new.MSSG_ID);
SET mssgRegime = (SELECT CONCAT (Regime_Type, Regime_Code) FROM T_DOC WHERE CD_Message_ID = new.MSSG_ID);;
由于某种原因,第二个 SQL 查询没有选择“new.MSSG_ID”条件,而同一触发器中的第一个查询可以识别它。我真的无法弄清楚似乎是什么问题。
当我在第二个查询中用数据库中的硬编码值替换“new.MSSG_ID”时,它似乎可以工作。我怀疑“new.MSSG_ID”是问题所在,因为它在第一个查询中运行良好。
我已经尝试了几乎所有我能想到的东西。非常感谢您的帮助。
【问题讨论】:
-
考虑发布相关表的 DDL 和整个触发器代码,可能还有一些测试数据。
标签: mysql sql database select triggers