已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
3天前关闭。
Improve this question
我有两个SQL表:table A
和table B
。
最初,我将所有行从table A
复制到table B
,比如说在date D
上。(在date D
之后进行)复制到table B
。在复制时,我需要检查原始复制的行是否有更新,如果有,用更新的数据替换它。我在两个表中都有created timestamp
和updated timestamp
字段。
简而言之,我需要同时执行更新和插入操作,以便将新数据从一个表复制到另一个表中。
2条答案
按热度按时间xqnpmsa81#
1.添加一个标志(位列),如默认
archived
0
。将行从
table A
复制到table B
时,请执行:因此,您可以找到从未复制到
table B
的行:不知道你要更新行
table A
?您要将它们更新为
table B
还是复制到table C
?如果需要,当您修改行时,可以再次将archived
更改为0
。chhqkbe12#
根据您的注解所做的更改:
1.更新
table B
上先前在table A
上有更改的行1.在
table A
上插入在Table B
上找不到的新行1.在
table A
中将插入的行(步骤2)标记为已存档表格B:
在
table B
上,不会自动设置任何内容:不是
id
乘以AUTO_INCREMENT
,也不是created
和updated
乘以current_timestamp()
例如: