Mysql A表更新某行的值,也同样更新B表对应ID 的值

新建表c1

CREATE TABLE c1 (
id int(11) NOT NULL auto_increment PRIMARY KEY,
kl VARCHAR(255)
)

向表c1插入数据

INSERT INTO 
c1(kl) 
VALUES
('李'),('周'),('王'),('赵')

image.png

新建表c2

CREATE TABLE c2 (
id int(11) NOT NULL auto_increment PRIMARY KEY,
kl VARCHAR(255)
)

向表c2插入数据

INSERT INTO 
c2(kl) 
VALUES
('1'),('1'),('1'),('1')

image.png

创建触发器c1表更新后,同样更新c2表

create trigger c1_update_c2 after UPDATE
on c1 for  each ROW
BEGIN
UPDATE c2 set kl=new.kl where id =(select id from c1 where kl=new.kl);
end

#select id from c1 where kl=new.kl 查询更新的值对应的ID的值是

更新表c1的kl值,查看c2对应的值

UPDATE c1 
SET kl = '李四' 
where id=1;
SELECT * from c1;
SELECT * from c2;

image.pngimage.png

猜你喜欢

转载自blog.51cto.com/11728495/2485342