当我们两个表有一个字段做关联关系的时候,我们在更新一张表的关联字段的同时,想将另外一张表的关联字段也更新,这时我们可以在字段上添加触发器
CREATE OR REPLACE TRIGGER update_departments_trigger
BEFORE UPDATE ON departments
FOR EACH ROW
BEGIN
-- 检查是否只有 dept_id 字段被更新
IF :OLD.dept_id != :NEW.dept_id THEN
-- 更新 employees 表中的外键字段
UPDATE employees
SET dept_id_fk = :NEW.dept_id
WHERE dept_id_fk = :OLD.dept_id;
-- 更新 offices 表中的外键字段
UPDATE offices
SET dept_id_fk = :NEW.dept_id
WHERE dept_id_fk = :OLD.dept_id;
-- 如果有更多关联表,继续添加更新逻辑
END IF;
END;
在副表添加与主表关联的外键