1

私は mysql にこの大きなデータベース (104 テーブル) を持っています。ほとんどすべてのテーブルには、マスター テーブルのような単一のテーブルを指す FK があります。

関係の巨大なウェブがあり、「マスター」テーブルからレコードを削除する必要がある場合、明らかに、関係が原因で多くのエラーが発生します。それらはすべて削除時に「何もしない」に設定されているため、私の質問は、影響を受けるすべてのテーブルのすべてのレコードを「手動で」削除するのではなく、カスケードで削除するようにそれら(関係)を変更することがどれほど安全かということです。 ?

私はMySql、最後のバージョン(正確にどれを覚えていないか)を使用しています。それが機能する場合は、PHP 5.2とcodeigniterを使用しています。

どうもありがとう

4

1 に答える 1

1

ビジネスルールがすべてです。

カスケード削除が発生することがビジネスルールにある場合、手動でプログラムする理由がわかりませんか?

もちろん、手動でプログラミングする場合は、追加の検証を組み込むことができますが、そうでない場合は、手動で削除すると、エラーが発生しやすくなります。

1 つには、'by built in cascade' を削除する場合、トランザクションは無料であり、孤児を残すリスクはありません。

于 2010-11-08T09:52:45.663 に答える