mysql库表的触发器表名_MySQL 触发器,实现不同数据库,不同表名,表结构不同,数据实时同步...
创建触发器:
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
trigger_name:标识触发器名称,用户自行指定;
trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;
trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE;
tbl_name:标识建立触发器的表名,即在哪张表上建立触发器;
trigger_stmt:触发器程序体,可以是一句SQL语句,或者用 BEGIN 和 END 包含的多条语句。
INSERT触发器
INSERT触发器可以使用NEW.列名 读取插入的新值,也可以修改它。
UPDATE触发器
可以使用 NEW.列名 获取新值,也可以使用 OLD.列名 获取旧值。
DELETE触发器
可以使用 OLD.列名 获取旧表中的值(只读)。
用处:
在BEFORE触发器中进行一些数据的校验工作(大小写、数据类型、格式等)
在AFTER触发器中进行一些后续的统计工作(行数、总数、平均值等)
1. 插入数据:
DELIMITER $
CREATE TRIGGER tr_insert_zcarticlebody AFTER INSERT ON zcarticlebody FOR EACH ROW
BEGIN
-- 插入目标表
INSERT INTO
china_dev.cb_article_body(id,page_titles,body_text,copy_image_flag)
VALUES
(new.ID,new.PageTitles,new.BodyText,new.CopyImageFlag);
END;
$
DELIMITER;
tr_insert_zcarticlebody :触发器名称;
zcarticlebody :建立触发器的表名;
chinabim_dev :数据库名称;
cb_article_body :触发的表名,即目标表名;
2. 更改数据:
DELIMITER $
CREATE TRIGGER tr_update_zcarticlebody AFTER UPDATE ON zcarticlebody FOR EACH ROW
BEGIN
UPDATE china_dev.cb_article_body
SET page_titles = new.PageTitles,body_text = new.BodyText,copy_image_flag = new.CopyImageFlag
WHERE id = new.ID;
END
$
DELIMITER;
tr_insert_zcarticlebody :触发器名称;
zcarticlebody :建立触发器的表名;
chinabim_dev :数据库名称;
cb_article_body :触发的表名,即目标表名;
3. 删除数据:
DELIMITER $
CREATE TRIGGER tr_del_zcarticlebody AFTER DELETE ON zcarticlebody FOR EACH ROW
BEGIN
-- INSE
DELETE FROM china_dev.cb_article_body WHERE id = old.ID;
END
$
DELIMITER ;
COMMIT;
tr_insert_zcarticlebody :触发器名称;
zcarticlebody :建立触发器的表名;
chinabim_dev :数据库名称;
cb_article_body :触发的表名,即目标表名;
Navicat for MySQL
mysql库表的触发器表名_MySQL 触发器,实现不同数据库,不同表名,表结构不同,数据实时同步...相关推荐
- mysql 同步 es_mysql数据实时同步到Elasticsearch
业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...
- Docker安装部署MySQL+Canal+Kafka+Camus+HIVE数据实时同步
因为公司业务需求要将mysql的数据实时同步到hive中,在网上找到一套可用的方案,即MySQL+Canal+Kafka+Camus+HIVE的数据流通方式,因为是首次搭建,所以暂时使用伪分布式的搭建 ...
- SqlServer数据实时同步到mysql
SqlServer数据实时同步到mysql 一.首先要装一个ODBC的驱动用来建立mysql的连接.http://www.mysql.com/products/connector/ 注意:一定要用32 ...
- 使用Streamsets将Oracle数据实时同步到MySQL中
相关环境: Oracle 11g:11.2.0.1.0 MySQL:8.0.22 前期准备: 1.打开Oracle的logminer a.在SQL Shell中,以具有DBA的用户身份登录数据库: ...
- binlog流程 mysql_小米 MySQL 数据实时同步到大数据数仓的架构与实践
背景MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来说 ...
- 小米 MySQL 数据实时同步到大数据数仓的架构与实践
背景 MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来 ...
- oracle和mysql数据实时同步_异构数据源的CDC实时同步系统——最终选型实战
引言: <异构数据源的CDC实时同步系统> 系列第一篇 (已完成) <零编码打造异构数据实时同步系统--异构数据源CDC之2> 系列第二篇(已完成) <零编码打造异构数据 ...
- 小米技术分享:Mysql数据实时同步实践
背景 MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来 ...
- Mysql数据实时同步实践
关于小米内部使用的数据库你知道多少?(文末有福利) 往期文章回顾:Flink流式计算在节省资源方面的简单分析 背景 MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据 ...
- mysql 同步到es_mysql数据实时同步到Elasticsearch
业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理.本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供 ...
最新文章
- keras 的 example 文件 mnist_denoising_autoencoder.py 解析
- Spring基础专题——第三章(反转控制与依赖注入)
- 初探系列 — Pharbers用于单点登录的权限架构
- 在VC中使用MATLAB C++函数库
- 哈哈,这个小游戏很有意思!
- LeetCode MySQL 1623. 三人国家代表队
- 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc
- 更新macOS Monterey后遇到的各种Bug问题及解决方法
- idea怎么找到路径下面的js_怎么找到Win7桌面存储路径?怎么把Win7桌面转到D盘?...
- git教程(二)--安装和配置git
- linux 大文本文件,Linux文本文件处理(1)
- mybatis主键返回
- Python数据分析基础: 数据缺失值处理
- 浏览器兼容测试工具-IETest
- 应用服务器和数据库服务器有什么区别
- stm32报错:identifier is undefined总结
- Axure RP 8.1.6授权码
- 傅立叶变换的物理意义(转)
- NOIP模拟赛 麻将
- html银白色,纯CSS打造银色MacBookAir(二)_html/css_WEB-ITnose