程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql-SQL 同步tableA和tableB兩張表的信息

sql-SQL 同步tableA和tableB兩張表的信息

編輯:編程綜合問答
SQL 同步tableA和tableB兩張表的信息

tableA(no,name1,status,time)和tableB(no,name1)
no為主鍵
A表要同步B表的數據,status記錄改信息是“新增”或者“修改”或者“刪除”
time為新增或修改或刪除的時間

這個SQL要怎麼寫 ?求具體的語句啊謝謝!

最佳回答:


這是我寫的一個sql文件,你保存成sql文件可以試試。

DELIMITER $$ 
INSERT INTO tablea (SELECT tableb.no,tableb.`name`,'Add',tableb.time from tableb WHERE no NOT IN (SELECT no from tablea));

UPDATE tablea INNER JOIN tableb SET status = 'Update', tablea.name=tableb.name, tablea.time = tableb.time WHERE tablea.no = tableb.no AND tablea.name != tableb.name;

UPDATE tablea INNER JOIN tableb SET status = 'DEL', tablea.time = NOW() WHERE tablea.no NOT IN (SELECT no FROM tableb);

$$  
DELIMITER ; 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved