2017-03-08 5 views
0

特定の顧客のために誤って特定のフィールドをテーブルに上書きしてしまったため、別のデータベースにバックアップが復元されました。2つのテーブルをまとめて結合する

私は、バックアップバージョンから1つのフィールドを取得し、ライブバージョンを上書きするクエリを作成しようとしています。

私は思っている:

UPDATE live.orders 
SET live.orders.price = backup.orders.price 
WHERE live.orders.id = backup.orders.id 
AND live.orders.date > '2017-01-01 00:00:00' 

を、これが今年のすべての注文の場所のためにバックアップから復元されているもので、ライブデータベースに価格フィールドを交換する所望の効果を持っていますか?

また、実際にテーブルを変更する前に、これをテストして出力を表示することはありますか?

おかげ

+0

確かに基づいて更新が必要なようだ、ローカルコピーを作成するか、サーバー上に新しいデータベースにコピーし、クエリを試してみてください。それから、あなたはそれをロールバックできるように、トランザクション内でプロンプトを出します。 – ceejayoz

答えて

1

は、あなたが参加

UPDATE live.orders 
    JOIN backup.orders ON live.orders.id = backup.orders.id 
    SET live.orders.price = backup.orders.price 
    WHERE live.orders.date > '2017-01-01 00:00:00' 
+0

ありがとうございます。 「AND」を「WHERE」に変更する必要があると思いますか? – Richard

+1

@リチャードはい...回答更新...はどこですか – scaisEdge

関連する問題