2

次のデータベースを作成しています。

  • Artistテーブル
  • CDアーティストを参照するテーブル。

Artistがデータベースから削除されたときに、作成した を自動的に削除CDしてはいけませんが、作成した を削除することは可能であるべきです。Artist

私は初心者のMySQLコーダーであり、ON DELETE CASCADE/RESTRICT/SET NULLまたはそのようなものと関係があると思いますが、100%確実ではありませんが、ON DELETE CASCADEではないと確信しています。

4

2 に答える 2

2

CD レコードを保持したい場合は、アーティストを削除する前に、外部キー フィールドを親 (アーティスト) に NULL (または別のアーティスト レコード) に設定する必要があります。MySQL では、ON DELETE SET NULL を使用して、外部キーを自動的に NULL に設定できます。

本当にこれを行う必要があるかどうかを検討する必要があります。データが奇妙な状態のままになります。アーティストを削除する必要があるのに、対応する CD を削除しないのはなぜですか?

于 2012-11-26T19:30:59.200 に答える
0

最初に、削除したいアーティストへのすべての参照を削除する必要があります。その後、アーティストの削除に問題はありません。このオブジェクトへの参照がまだある場合、オブジェクトを削除することはできません。

于 2012-11-26T19:25:54.240 に答える