如何在sql server中恢复更新查询?

Bri*_*tel 1 sql sql-server foreign-keys revert sql-update

我正在使用SQL Server作为我的数据库.现在有一个表有以下列.

PK_ID   FK_ID   Name   Description
1        5       ABC      ABCDE
2        7       EFG      EFT
3        8       XUZ      Xyz
4        11      TEF      TEF
Run Code Online (Sandbox Code Playgroud)

现在我错误地更新了一些具有空值的Fk_ID字段.现在我想回到我的所有fk_id,它由null值更新.那么有什么方法可以恢复之前有价值的fk_id?

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

Fen*_*ton 5

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

例如

BEGIN TRAN T1;
UPDATE ImportantStuff SET ImportantValue = 1 WHERE SomeValue = 5
Run Code Online (Sandbox Code Playgroud)

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

COMMIT TRAN T1;
Run Code Online (Sandbox Code Playgroud)

如果没有,则回滚

ROLLBACK TRAN T1
Run Code Online (Sandbox Code Playgroud)

当然,在针对实际数据运行脚本之前,这不能替代测试 - 但我经常在测试期间使用它,而不是希望最好.

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