我有一个MySQL触发器使用它 BEFORE INSERT ON table来计算一个值,并在用户在特定列中插入值后更新同一个表.这按预期工作.但是用户在输入时出错并修复了错误,我想编写一个触发器,在错误修复后更新计算出的值.有没有办法实现这个目标?
一个BEFORE UPDATE ON table触发器可以访问现有值的行以及新提供的值,并可以设置任何列在表中的值,根据你想要的任何条件和表达式.
例如,可以测试是否修改了一个或多个关注列的值,然后将其他列设置为某个表达式.
CREATE TRIGGER my_before_update_trigger
BEFORE UPDATE ON my_table
FOR EACH ROW
BEGIN
IF NOT ((NEW.col1 <=> OLD.col1) AND (NEW.col2 <=> OLD.col2)) THEN
SET NEW.col3 = NEW.col1 * NEW.col2 ;
END IF;
END$$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5682 次 |
| 最近记录: |