[解決済み] ライブデータベースで気をつけるべきことNo.1とは?[クローズド]
質問
私は顧客のために、彼らが自分で作った問題を修正するため、あるいは私の製品のバグによって作られた悪いデータを修正するために、彼らのライブデータベースで作業することがあります。 Unix のルート アクセスと同じで、とにかく危険です。 前もってどのような教訓を得るべきでしょうか?
ライブデータでの操作について、1番気をつけていることは何ですか?
どのように解決するのですか?
私が長年にわたって苦労して学んだ3つのこと...
まず、生きているデータに対して更新や削除を行う場合、最初に使用するWHERE句を含むSELECTクエリを書きます。それが動作することを確認します。それが正しいことを確認します。次に、UPDATE/DELETEステートメントを、動作が確認されているWHERE句の前に追加します。
を決して持ちたくはないでしょう。
DELETE FROM Customers
クエリ アナライザで WHERE 節を書くのを待っているときに、誤って "execute" を押してしまい、Customer テーブルを消してしまったのです。おっと。
また、プラットフォームによっては、テーブルのバックアップをすばやく簡単に取る方法を見つけることができます。SQL Server 2005 の場合。
SELECT *
INTO CustomerBackup200810032034
FROM Customer
は、Customer テーブル全体からすべての行を CustomerBackup200810032034 という新しいテーブルにコピーし、更新を行い、すべてが問題ないことを確認したら削除することができます。最悪の事態が発生した場合、ディスクやテープから昨夜のバックアップを復元するよりも、このテーブルから失われたデータを復元する方がずっと簡単です。
最後に、カスケード削除によって、削除するつもりのないものが削除されることに注意してください。何かを変更する前に、テーブルの関係とキー制約を確認してください。
関連
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】データベースをgit(バージョン管理)下に置くには?)
-
[解決済み] 外部キーを主キーにするのは問題ないですか?
-
[解決済み] DBに型を格納する際のMIMETypeの最大長について
-
[解決済み] リレーショナル・データベースにおけるカタログとスキーマの違いは何ですか?
-
[解決済み] Postgresql - データベースをバックアップし、異なる所有者にリストア?
-
[解決済み] テーブルのネーミング。アンダースコアとキャメルケース、名前空間?単数形と複数形?
-
[解決済み] 破損したSQLite3データベースを復旧する方法
-
[解決済み] データベースとフラットファイル
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 外部キーを主キーにするのは問題ないですか?
-
[解決済み] SQLITE SQLダンプファイルをPOSTGRESQLに変換する
-
[解決済み] DB2とOracleから見たCLOBとBLOBの違いとは?
-
[解決済み] Postgresql - データベースをバックアップし、異なる所有者にリストア?
-
[解決済み] 非リレーショナルデータベース設計【終了しました
-
[解決済み] 1対1の関係はどのようなときに使うべきですか?
-
[解決済み] なぜ、いつ、Liquibaseなのか?
-
[解決済み] H2データベースを管理するフロントエンドツール【終了しました
-
[解決済み] キーの取り外し方法を教えてください。
-
[解決済み] 私はCouchDBでトランザクションとロックを行うことができますか?