Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql触发器同步表的数据

mysql触发器同步表的数据方式

作者:杨小木.

这篇文章主要介绍了mysql触发器同步表的数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql触发器同步表的数据

触发器定义什么的就不介绍了

这里从定义触发器的语法格式开始

delimiter $
create trigger '触发器名称' after/before insert/update/delete 
on '表名' for each row 
begin
	'触发的sql语句';
end $;
delimiter;

示例

第一步:先创建两个表

图书馆表

图书表

创建插入触发器

-- 插入触发器
delimiter $
create trigger trig_insert_book after insert 
on `library` for each row 
begin
	insert into book(`ref`,`name`,`price`,`press`)
    values (new.book_ref,new.book_name,new.book_price,new.book_press);
end $;
delimiter ;

创建完成后,可以从设计表结果中查看

执行插入语句

insert into library(`library_id`,`book_ref`,`book_name`,`book_price`,`book_press`,`book_sum`,`library_name`,`library_adress`) 
values (11021,'ac1005','春秋',59.9,'小木出版社',60,'广州市图书馆','广州市')

可以看到,现在只对library表进行插入操作,插入成功后,查看library表数据

同时再去才可能book表数据

可以发现,book的表数据也同步插入

对比触发器的sql语句与结果

(因为这里我的book表的id字段是自增的,所以不需要在触发器中去设置id)

创建更新触发器

-- 更新触发器
delimiter $
create trigger trig_update_book after update
on `library` for each row
begin
    update book set ref=new.book_ref,name=new.book_name,price=new.book_price,press=new.book_press;
end $
delimiter;

执行更新语句

update library set book_name ='冬夏' where library_id=11021

更新结果

创建删除触发器

delimiter $
create trigger trig_delete_book after delete 
on `library` for each row 
begin
	delete from book where  ref = old.book_ref;
end $;
delimiter;

执行删除语句

delete from `library`  where book_ref = 'ac1005'

删除结果

总结

以上即为mysql触发器的同步表操作。仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文