2017-01-28 15 views
0

多くの外部キーを持つ大きなデータベース(250を超えるテーブル)では、ON DELETE CASCADEに設定されていません。これは私が外来のキー制約を落として再作成する必要があることを意味します。それ自体はそれほど悪くはありません。しかし、874の既存の外部キーの制約で、それは本当に長い時間がかかります。すべてのテーブルの既存の外部キー制約にON DELETE CASCADEをプログラムで追加します

これを自動化する方法の提案はありますか?私は貿易によってPHP開発者ですが、私はどの言語でも誰でも考えることができる任意のソリューションに対応しています。

答えて

0

私はあなたがプログラムでそれを行うことができると思います。メインエンティティを削除する必要がある場合。ループは、このエンティティのPKをFKとして持つすべてのテーブルのすべての行を考えました。最初に削除してください。その後、メインテーブルのメイン行(エンティティ)を削除します。これをトランザクションで行います。知りません。どちらの方法もあまりにも混乱を招く。

関連する問題