私のアプリケーションからレコードを削除すると、テーブルのいくつかのレコードが保持されます。作成方法を理解するための助けが必要です親テーブルからすでに削除されている子テーブルからレコードを削除するプロシージャ親テーブルにないときに子テーブルからレコードを削除するプロシージャを作成します
-2
A
答えて
0
一般的にあなたの質問に対する回答は、存在量の数値化として知られています。しかし、あなたはその位置で取得することになっていない
delete from C where not exists (
select 1 from P
where P.child_key = C.key
)
:SQLでは、フォームを持っていることは、子供が親を持たない場合であってはなりません。子テーブルには、には親の存在がであると宣言された外部キーが必要です。この方法では、挿入する子の親と親の子であるは、子を参照している間に削除することはできません。
このような外部キー制約が存在する場合、イベントの唯一の許容順序は、最初に子の子を削除してから親のwhere exists
のキーを削除することです。正確さのために、2つのステートメントはトランザクションの一部でなければなりません。
一部のコメントでは、宣言参照整合性(DRI)を使用して子行を削除することを推奨しています。私はファンではない。私はDRIを制約の形として使用してルールを作成します。データの処理については、明示的なコードをお勧めします。このコードでは、アプリケーションレベルでの驚きをより簡単に処理できます。
0
ひどく整理されたDBで発生するので、データをクリーンアップする必要があります。
delete childTable where FK_field not in (
select PK_field from parentTable)
今後この問題を回避するには、childTableのFK制約を作成してください。
関連する問題
- 1. 親レコードが削除されたときに子レコードを削除しない
- 2. ON DELETE CASCADEを、レコードが親テーブルの上に削除することができますが、親テーブルが
- 3. 親テーブルと子テーブルを同じテーブルにコピーしますか?
- 4. CTEと物理的にテーブルからレコードを削除する
- 5. 新しいテーブルを作成するときにSqliteが自動的に古いテーブルを削除しました
- 6. 同じ接続オブジェクトを使用して親テーブルと子テーブルを削除する
- 7. プライマリキーのないテーブルからレコードを削除する
- 8. 子レコードを削除すると、エンティティの親レコードが削除されます
- 9. django.db.utils.IntegrityError:レコードを削除するときにテーブルの更新または削除
- 10. Ruby/Rails - 子レコードを作成するときに暗黙的に親レコードを作成しますか?
- 11. memsqlテーブルから古いレコードを自動的に削除できますか?
- 12. Google App Engineテーブルからレコードを削除
- 13. oracleウェアハウス・テーブルから1Bnレコードを削除
- 14. スライドをテーブルからレコードを削除するには
- 15. MySQL、削除カスケードで子テーブルを削除できますなぜONにしないのですかUpdate Cascadeは子テーブルを更新しませんか?
- 16. 親子テーブルにレコードを挿入して選択します
- 17. knexjsトランザクションを使用して親/子テーブルから行を削除する
- 18. MySQLテーブルから別のテーブルにあるレコードを削除する方法
- 19. テーブルから他のテーブルに存在しないデータを削除
- 20. 親子階層テーブルからクエリを作成する方法
- 21. 複数の子テーブルによって参照される親テーブルからレコードを削除するにはどうすればよいですか?
- 22. 巨大なMySQLのinnoDBテーブルからレコードを削除する
- 23. 作成する前にテーブルを削除しないのはいつですか?
- 24. 条件を満たすときに接続テーブルからレコードを削除
- 25. Codeigniterテーブルからのレコードを削除するwhere page_idとuser_id
- 26. "テーブルから削除"テーブルを削除しませんか?
- 27. PHPテーブルからレコードを削除できません
- 28. 複数のテーブルからMySQLレコードを削除すると、正常に動作しない
- 29. Lightswitchの親テーブルに新しいレコードが追加されたときに、自動的に新しいレコードを子テーブルに挿入しますか?
- 30. 子テーブル内に何かがあると仮定して、親テーブルのすべてのレコードを選択します。
もっと多くの情報が必要...テーブル構造はどのように見えますか?いくつかのサンプルデータを提供できますか?あなたはすでに試みたクエリとは何ですか?私たちは魔法のようにあなたがしようとしていることを知らずに答えを与えることはできません。 – Siyual
は、「外部キーの制約」と「カスケードの削除」について聞いたことがありますか? –
あなたはCASCADEをお探しですか? – techspider