【发布时间】:2014-08-18 17:13:14
【问题描述】:
虚拟问题:在 MySQL 中有下一个代码,但是在 HeidiSQL 中运行它时,在“// CREATE TRIGGER”附近显示一个 sintaxis 错误。我不确定是否会发生这种情况,因为触发器不存在。这是代码:
DROP TRIGGER IF EXISTS oportunidades_movimiento_entregado //
CREATE TRIGGER oportunidades_movimiento_entregado;
AFTER INSERT ON historial_entregado
FOR EACH ROW BEGIN
UPDATE oportunidades
SET oportunidades.fechaModificado = NEW.fecha_creacion
WHERE NEW.oportunidad_id = oportunidades.id;
END//
更新
DELIMITER $$
DROP TRIGGER IF EXISTS oportunidades_movimiento_entregado $$
CREATE TRIGGER oportunidades_movimiento_entregado
AFTER INSERT ON historial_entregado
FOR EACH ROW BEGIN
UPDATE oportunidades
SET oportunidades.fechaModificado = NEW.fecha_creacion
WHERE NEW.oportunidad_id = oportunidades.id;
END; $$
DELIMITER //
这可行,但现在我怀疑...所有代码(DROP 和 CREATE)每次都会运行,还是只运行 CREATE?我需要这个,因为我正在使用 2 个表,在其中一个表中插入/更新数据,然后使用触发器在另一个表中插入一些列以保持历史记录,但是当我在其中进行 INSERT 或 UPDATE 查询时第一张表,MySQL显示错误#1442
无法更新存储/函数触发器中的表
oportunidades,因为它已被调用此存储函数/触发器的语句使用。
【问题讨论】:
标签: php mysql triggers heidisql