列更新时的 SQL mariaDB 触发器
Posted
技术标签:
【中文标题】列更新时的 SQL mariaDB 触发器【英文标题】:SQL mariaDB trigger on column update 【发布时间】:2021-12-28 18:29:48 【问题描述】:我有一个第一个表,其列作为 id、名称和状态,第二个表列作为 id 和状态。
每当第一个表有任何更新时,特定 id 列的状态列,我想将第二个表的列状态值更新为第一个表状态值。
第一个表 id 列 = 第二个表 id 列
【问题讨论】:
听起来像是对指定 ID 的另一个表的简单更新......有什么问题? 能否请您给我实现它的触发细节 【参考方案1】:这就是您创建此触发器的方式:
CREATE TRIGGER update_status
AFTER UPDATE
ON table1
FOR EACH ROW
BEGIN
UPDATE table2
SET status = NEW.status
WHERE id = NEW.id;
END
这仅适用于UPDATE
。您可能必须创建另一个触发器,从 table1
插入新行到 table2
:
CREATE TRIGGER insert_status
AFTER INSERT
ON table1
FOR EACH ROW
BEGIN
INSERT INTO table2 (id, status)
VALUES (NEW.id, NEW.status);
END
【讨论】:
以上是关于列更新时的 SQL mariaDB 触发器的主要内容,如果未能解决你的问题,请参考以下文章