【发布时间】:2015-06-09 04:05:08
【问题描述】:
我有以下情况。假设我有 3 张桌子:
ID 是整数和具有标识 (1,1) 的主键。
-
Clients(ID (pk),姓名) -
Orders(ID (pk)、ClientID (fk)、日期) -
OrderDetails(ID (pk)、OrderID (fk)、产品、数量、价格)
假设我不小心删除了这 3 个表中的所有记录,但我有一个数据库备份。问题是如何将那些从备份数据库中删除的记录重新插入到当前数据库中?
我知道我可以简单地 "set identity_insert on" 和使用 "insert into",但它是一个 Web 应用程序,它必须保持活跃,并且有来自用户的插入。
如果我将所有Clients 插入后面,它们的ID 将不同,Orders(ClientID) 不能再引用它。等等Orders/OrderDetails 表。
我需要一些方法来用新的外键 id 更新。我该怎么做?
某种临时表来保存旧 ID 和新 ID 的记录?
希望我把我的问题说清楚了 :)
【问题讨论】:
标签: sql-server database backup recovery