11

行が削除される可能性があるかどうかを確認する方法はありますか? たとえば、現在、制限された外部キーを介して他のものに接続されていないこと。

理由: システム内のすべてのユーザーが一覧表示された管理ページを作成しています。これらはいつでも無効にできますが、削除することもできます。ただし、重要なものに接続されていない場合にのみ削除できます。データベースで簡単に実行できる場合は、手動で確認する必要はありません。

注:実際にユーザーを削除したくありません。ユーザーを削除できることを管理者に表示したいだけです。

4

4 に答える 4

4

トランザクションの一部として削除を試み、成功した場合はトランザクションをロールバックできます。しかし、すぐに続く質問は、そもそも行を削除できるかどうかわからないのはなぜですか?

于 2010-09-14T18:42:02.407 に答える
1

接続しているテーブルに左結合することで、孤立したすべての行を取得できます。たとえば、これにより、ジョブを持たないすべてのユーザーIDが得られます。

SELECT u.id FROM users u LEFT JOIN jobs j on u.id=j.user_id WHERE j.user_id is null;
于 2010-09-14T19:11:02.803 に答える
1

ビューを使用して、データの保存と最新の状態を維持することを心配することなく、依存関係の数を合計できます。依存関係の数がゼロの場合、UI で削除オプションを使用できるようにします...

于 2010-09-14T18:42:07.867 に答える