プライマリキーを含むメインテーブルがあり、このメインテーブルへの外部キーを含む別のテーブルがあるとします。したがって、メインテーブルの行だけを削除すると、子テーブルは削除されません。他のテーブルの外部キーであるプライマリキー行
答えて
あなたはそれは、SQLサーバーによって禁止されているので、あなたは、参照される行を削除することができないでしょう代わりに{CASCADE、SETのNULL、SETのDEFAULT}
をDELETEなどONとして、あなたのFKey上のいくつかの特定のオプションを設定する必要があります誠実さのために。
したがって、参照するテーブルの値をNULLまたは他のDEFAULT値に設定することができます。
またはご参照行は親の行せずに、いくつかの意味を持っている場合は、あまりにも
それともそれを削除する - そして何かがあなたのDB設計と間違っている - あなたは、[F]キーまたはスキーマを必要としないのいずれかであります正規化されていません。
私はこれのようなものがほしいと思います。
ON DELETE CASCADE 他の表の既存の行の外部キーによって参照されるキーを持つ行を削除しようとすると、その外部キーを含むすべての行も削除されるように指定します。
REF:http://msdn.microsoft.com/en-us/library/ms186973%28SQL.90%29.aspx
あなたは子供のレコードを残した場合、それは孤児だこの
ALTER TABLE MainTable
ADD CONSTRAINT fk_xyz
FOREIGN KEY (xyz)
REFERENCES ChildTable (xyz) ON DELETE CASCADE
働いていない.. !! 私は主キーの行を削除し、まだ行を保持する外部キーテーブルを見ることができます。 – user3177068
- 1. 複合プライマリキーの一部であるSQLテーブルの外部キー
- 2. 外部キーもプライマリキーの一部です
- 3. 他のテーブルの列に外部キー
- 4. MySQL - 1つのテーブルから別のテーブルにプライマリキーを挿入する(外部キー)
- 5. SQL Server - プライマリキーと外部キーの関係
- 6. プライマリキーの一部である外部キーにnullを設定する
- 7. 別のテーブルの外部キーであるプライマリ・キー列を削除
- 8. 他のテーブルに外部キーとして非プライマリキーを設定することはできますか?
- 9. プライマリキーと非プライマリキーの2つのフィールドで構成される外部キーJPA
- 10. プライマリキーと外部キーを持つドロップテーブル
- 11. 外部キーに影響を与えずにプライマリキーを削除する他のテーブルに制約する
- 12. アクセスデータベース - 同じプライマリキーに関連する同じテーブル内の2つの外部キー
- 13. 1つのクエリで、別のテーブルの行の外部キーであることを
- 14. 外部キーで他のテーブルからデータを取得
- 15. SQLの外部キーと他のテーブルの参照
- 16. プライマリ/外部キーの追加と他のテーブルの参照
- 17. テーブルの結合、外部キー
- 18. すべてのテーブルのプライマリキーを他のテーブルの外部キーとして設定する必要がありますか?
- 19. 親テーブルの外部キーであるフィールドを更新する
- 20. 他のテーブルの値を削除せずにプライマリキーを持つテーブル内の行を削除する方法外部キー?
- 21. 同じテーブルの主キーと外部キー
- 22. プライマリキーをデータベースの外部キーとしてマッピングする
- 23. 同じプライマリキーを参照する2つの外部キー
- 24. SQL:行が別のテーブルの外部キーである場合に、テーブル内のすべての行を検索
- 25. 別のテーブルの外部キーであるテーブルの名前を変更する
- 26. myISAMテーブルとInnoDBテーブルの外部キー
- 27. プライマリキーと外部キーの両方のフィールドを持つエコースキーマ
- 28. MySQL - プライマリキーとしての外部キーの使用
- 29. sql外部キーとプライマリキーのためのfiddleコード
- 30. 別のテーブルにあるエンタテイメントからの外部キーの作成
のようなものを試してみてください - 壊れ参照整合性... –
リサーチ 'DELETE CASCADE' ON。 – Phrogz
StackOverflowは危険ではありません - あなたの質問を質問の形で書き直せますか? – Borealid