我有两个表original
和original_backup
,我正在创建一个回滚脚本,该脚本会从original_backup
获取所有数据并将其重新放回original
,这个问题我有大约60列。有没有一种简单的方法可以使用UPDATE
和SET
移动所有数据,而无需指定每一列?
例如:
UPDATE original SET * FROM original_backup WHERE original.id = original_backup.id;
在这种情况下,使用REPLACE
不是一个选项。
答案 0 :(得分:0)
你可以做两件事:
DELETE FROM original
INSERT INTO original SELECT * FROM original_backup
这需要一些时间。切割得更干净:
CREATE TABLE original_restored AS SELECT * FROM original_backup
RENAME TABLE original TO original_prev, original_restored TO original
答案 1 :(得分:0)
这是我的解决方案,但我不使用UPDATE语句:
1)删除原始
中的所有数据2)运行select insert query
类似的东西:
INSERT INTO original (Field1, Field2)
SELECT a.Field1, a.Field2
FROM original_backup a
INNER JOIN original b ON a.ID = b.ID