用途:订单表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 table01
- SET 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');
到数据库里面看看结果
