用途:订单表table01,运单表table02。
首先有订单表有记录/但是刚开始只有订单号/没有运单号;
INSERT INTO testdb.table01
(id, orderid, transportid)
VALUES(4, 'order04', '');
然后运单表有记录/记录有运单号。
INSERT INTO testdb.table02
(id, orderid, transportid)
VALUES(4, 'order04', 'transportid04');
希望不用Java代码的方式,运单号有记录的时候,自动更新订单表相关记录的运单号。
创建数据库表
create table table01 (id int, orderid varchar(20), transportid varchar(20));create table table02 (id int, orderid varchar(20), transportid varchar(20));
创建trigger
DELIMITER $$CREATE TRIGGER after_insert_table02
AFTER INSERT ON table02
FOR EACH ROW
BEGIN-- 更新tableB的相应记录,这里假设更新的是名为status的字段UPDATE table01SET transportid = NEW.transportid -- 请根据实际需求替换'新状态'为具体值或表达式WHERE orderid = NEW.orderid; -- 假设table01中的tableB_id与tableB的id关联
END$$DELIMITER ;
最后测试下
INSERT INTO testdb.table01
(id, orderid, transportid)
VALUES(4, 'order04', '');INSERT INTO testdb.table02
(id, orderid, transportid)
VALUES(4, 'order04', 'transportid04');
到数据库里面看看结果