1

我正在为我的数据库使用 SQL Server。现在有一个包含以下列的表格。

PK_ID   FK_ID   Name   Description
1        5       ABC      ABCDE
2        7       EFG      EFT
3        8       XUZ      Xyz
4        11      TEF      TEF

现在我错误地用空值更新了一些 Fk_ID 字段。现在我想取回由 null 值更新的所有 fk_id。那么有没有办法恢复以前有价值的fk_id?

任何人都可以帮助我找到相同的解决方案吗?

4

3 回答 3

6

为避免将来发生这种情况,您可能希望使用事务来为您提供回滚选项。

例如

BEGIN TRAN T1;
UPDATE ImportantStuff SET ImportantValue = 1 WHERE SomeValue = 5

然后,如果它看起来不错,您可以提交:

COMMIT TRAN T1;

或者如果没有则回滚

ROLLBACK TRAN T1

当然,这不能替代在针对真实数据运行脚本之前进行测试——但我经常在测试期间使用它,而不是希望获得最好的结果。

如果没有事务,您将需要从备份中重置数据。

于 2012-11-05T14:10:55.980 回答
3

不,没有简单的方法可以做到这一点。从备份还原。

于 2012-11-05T14:06:31.903 回答
1

如果你有备份,你将不得不从备份中恢复。否则无法取回该数据。

为了避免以后出现问题,使用事务和外键约束。

于 2012-11-05T14:13:57.117 回答