1

データベースにSQLServerを使用しています。これで、次の列を持つテーブルができました。

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値で更新しました。ここで、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 に答える