MySQLで大規模なデータベースを構築し、SQLYogを使用してテーブル間のすべての関係を作成しました。それはすべてうまくいっていますが、私が構築しているPHPサイトでは、データベースから行を削除する際に問題が発生することがよくあり、参照整合性制約に遭遇することがよくあります。そこで、最初にリンクテーブルからデータを削除するか、フィールドをNULLに設定してみます。私は通常、これをある程度の試行錯誤で機能させることができますが、これを実行する方法や適切なプロセスがないようです。'削除セットNULLまたはカスケード削除設定'を使用する必要がありますか?どちらを使用すればよいかわからないので、他のテーブルの重要なデータが削除されるのではないかと心配しています。
人々はデータベースに関係の制約を設定することさえわざわざしますか?つまり、削除を実行してから、PHPコードでリンクされている他のテーブルを更新するために、いくつかの追加行を書き込む方がはるかに簡単に思えます。
どんな助けでも大歓迎です。