MySQL 触发器不能直接更新视图,因为视图本质上是一个虚拟表,不能直接更新其中的数据。但是可以通过触发器更新视图所对应的基本表,从而实现更新视图的效果。

例如,假设有一个视图 my_view,它是基于表 my_table 创建的,现在需要在 my_view 视图中更新某个字段 my_field 的值,可以使用以下的触发器实现:

CREATE TRIGGER update_my_table AFTER UPDATE ON my_view
FOR EACH ROW
BEGIN
    UPDATE my_table SET my_field = NEW.my_field WHERE id = NEW.id;
END;

这个触发器会在 my_view 视图中的某一行被更新时触发,然后将相应的数据更新到 my_table 表中。这样当视图被查询时,就会返回更新后的数据。

mysql触发器更新视图

原文地址: https://www.cveoy.top/t/topic/gRBF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录