【发布时间】:2019-02-14 12:29:34
【问题描述】:
我有两个表:NewData 和 RecentData
NewData
id | Order_Number | Company | SerialNumber | ShipDate
-----------------------------------------------------
1 | 2323 | Apple | SN2324 | 2018-09-12 00:00:00
2 | 53444 | Telsa | SN9098 | 2018-09-12 00:00:00
3 | 42321 | Stack | SN9999 | 2018-09-12 00:00:00
RecentData
id | Order_Number | Company | SerialNumber | ShipDate
-----------------------------------------
1 | 2323 | Apple | | 2018-05-05 00:00:00
2 | 53444 | Telsa | oldserial | 2018-07-20 00:00:00
当 ShipDate 在 NewData 表上发生变化时,我只需要 更新 ShipDate 和 SerialNumber 列。此外,如果 NewData 表中确实存在 Order_Number,但 RecentData 表中不存在,则将整行添加到 RecentData 表中。
我尝试了以下方法:
UPDATE RecentData
LEFT JOIN NewData on NewData.Order_Number = RecentData.Order_Number
SET RecentData.Order_Number = NewData.Order_Number;
但这会删除 Order_Number 列中的订单号。
请帮忙!
【问题讨论】:
-
您好,欢迎您通过在更新“NewData”表时更新表“RecentData”表的触发器来实现您的要求。
-
怎么样?请详细说明?