mysql 利用觸發(fā)器實現表數據同步

數據庫 db1 和 數據庫 db2 處于同一個數據庫連接下,分別擁有表 table1 和 table2,兩個表結構一致

現將 db1.table1 下的改動更新到 db2.table2,以下觸發(fā)器是在 db1 下創(chuàng)建的

  1. 插入同步

    drop trigger if exists after_table1_insert
    delimiter $$
    create trigger after_table1_insert
    after insert
    on table1
    for each row
    begin
    insert into db2.table2 select * from table1 where id = new.id;
    end$$
    delimiter ;
    
  2. 更新同步

    drop trigger if exists after_table1_update
    delimiter $$
    create trigger after_table1_update
    after update
    on table1
    for each row
    begin
    delete from db2.table2 where id = new.id;
    insert into db2.table2 select * from table1 where id = new.id;
    end$$
    delimiter ;
    
  3. 刪除同步

    drop trigger if exists after_table1_delete
    delimiter $$
    create trigger after_table1_delete
    after delete
    on table1
    for each row
    begin
    delete from db2.table2 where id = old.id;
    end$$
    delimiter ;
    

擴展鏈接

觸發(fā)器創(chuàng)建語法: https://dev.mysql.com/doc/refman/8.0/en/create-trigger.html

觸發(fā)器創(chuàng)建示例: https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 什么是SQL數據庫: SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是...
    西貝巴巴閱讀 1,996評論 0 10
  • 經典MSSQL語句大全和常用SQL語句命令的作用 下列語句部分是Mssql語句,不可以在access中使用。 SQ...
    Keropok閱讀 2,453評論 0 30
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,916評論 0 13
  • 轉自http://www.cnblogs.com/0351jiazhuang/p/4530366.html SQL...
    Hoe王666閱讀 294評論 0 0
  • 今天,我覺得很開心,因為一切都不算太糟糕,作業(yè)也在最后一刻趕完了,雖然還有很多,但是還有時間趕。 不知道為什么,也...
    不懂的小七閱讀 190評論 0 4

友情鏈接更多精彩內容