1つのテーブルのデータが原因で、複数のテーブルから行を削除する

kpsword

行を削除する必要のあるテーブルが複数あり、それらはすべて1つのテーブルのデータに依存しています。たとえば、Usersテーブルがあり、UsersテーブルにUsersがあります。他のすべてのテーブルで、その1人のユーザーに関連するすべてのデータを削除しようとしています。

たとえば、Membersテーブルがあり、Membersテーブルには、Usersテーブルとの外部キー関係があるため、UserIdによって関連付けられています。メンバーテーブルには、UserIdに関連付けられた複数のメンバーを含めることができます(ユーザーは複数のもののメンバーになることができるため、1対多の関係になります)。次に、Permissionsテーブルもあり、PermissionsテーブルにはMembersテーブルとの外部キー関係があります。そして、そのテーブルでは、メンバーは複数のアクセス許可を持つことができます(メンバーは、1対多の関係である複数のものに対するアクセス許可を持つことができます)。

私がする必要があるのは、ユーザーテーブルからユーザーIDに関連するすべてのメンバーIDに関連するパーミッションテーブルのすべての行を削除することです(つまり、ボブはユーザーIDが7で、メンバーテーブルにあります。は3つのメンバーであるため、名前に3つのMemberIdが関連付けられており、権限テーブルでは、これらの3つのMemberIdにも3つのMemberIdに関連付けられた3つの権限があります。これらの3つのMemberIdに従って、9つの権限行すべてを削除してから削除する必要があります。 1つのUserIdに従って3つのメンバー行すべてを削除し、次にUserNameに従って1つのUserIdを削除します。

複数のテーブルを内部結合し、それらをユニオンに接続しようとしましたが、それらすべてのテーブルをその1つのUserIdに結び付け、ロジックのフローを通じてそのデータを運ぶのに苦労しています。

ユーザーのUserIdは7です

ユーザーのUserIdは7です

ユーザーは3つのMemberIdに関連付けられています

ユーザーは3つのMemberIdに関連付けられています

MemberIdは、複数のPermissionIdに関連付けられています

MemberIdは複数のPermissionIdに関連付けられています

したがって、これらすべてのPermissionId(ユーザーのMemberIdに対してWHEREステートメントを実行した)、MemberIdの3つのインスタンスすべて、およびユーザーを削除する必要があります。

mkRabbani

別のテーブルから削除するUserIDを知っている場合、これはテーブルUsersとMembersから簡単に処理できます。パーミッションテーブルからレコードを削除する場合は、サブクエリを使用する必要があります。ただし、テーブル間に関係(PK / FK)が確立されている場合は、次のような順序を維持する必要があります-

重要な注意:適切なバックアップがない限り、削除は危険な操作です。したがって、最初にテストデータに対してスクリプトを実行してみてください。

最初に、次のスクリプトを使用して、権限テーブルからレコードを削除する必要があります-

DELETE FROM Permissions
WHERE MemberID IN 
(
    SELECT MemberID FROM Members
    WHERE UserID = 7
)

2番目のステップでは、以下のようにメンバーテーブルからレコードを削除する必要があります-

DELEET FROM Member WHERE UserID = 7

3番目のステップでは、以下のようにユーザーテーブルからユーザーを削除する必要があります-

DELETE from Users WHERE UserID = 7

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のデータベースの複数のテーブルから単一の行を削除する

分類Dev

他の2つのテーブルから1つのテーブルに複数の行を挿入する

分類Dev

1つのテーブルから複数のテーブルにデータを転送することは可能ですか?それらのテーブルはそのデータを含むテーブルから作成されています

分類Dev

1つのテーブル行に複数のデータを保存する方法

分類Dev

同じテーブル内の別の行からデータを見つけるために、1つの行でSQLQUERYを複数検索する

分類Dev

テーブルから複数の行を削除する(SQL)

分類Dev

テーブルから複数の行を削除する

分類Dev

Oracleの複数のテーブルから1つのテーブルにデータを挿入するにはどうすればよいですか?

分類Dev

2つのテーブルからデータを削除する

分類Dev

複数のレベルで1つのテーブルから別のテーブルにデータを結合する

分類Dev

1つのテーブルから別のテーブルに複数の行を転送する方法(SQL)

分類Dev

複数の列を持つデータのテーブルからANOVAテストを実行する

分類Dev

複数のテーブルで1つのテーブルデータを使用するmysql

分類Dev

複数の選択からデータベースビューを作成できますか?たとえば、行1は完全に1つのテーブルからのものであり、行2は別のテーブルからのものです。

分類Dev

SQLで複数のテーブルをリンクしながら2つのテーブルからデータを表示する

分類Dev

SQLServerが複数のテーブルからデータをプルする

分類Dev

ApacheNifi-1つのフローで複数のテーブルからデータを読み取ります

分類Dev

SQL Serverの1つのテーブルの複数の行から別の行にデータをコピーする方法は?

分類Dev

Accessで別のテーブルのデータから1つのテーブルを作成する

分類Dev

2つのテーブルから1つのテーブルに複数の行を挿入します

分類Dev

codeigniterの複数のテーブルからデータを削除します

分類Dev

2つのタイムスタンプで複数のテーブルからデータを取得する

分類Dev

1つのmysqlクエリで複数のテーブルからデータを選択します

分類Dev

1つのステートメントで複数のテーブルから削除する

分類Dev

PHPの1つのデータベースから2つの異なるテーブルから複数のデータを取得する方法

分類Dev

複数のテーブルから1つのテーブルに重複せずにデータをコピーする

分類Dev

SQLServerが複数のテーブルからデータを取得する

分類Dev

SQLで1つのテーブルから次のテーブルにデータを挿入する

分類Dev

複数のテーブルから1つのフィールドのデータを取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    複数のデータベースの複数のテーブルから単一の行を削除する

  2. 2

    他の2つのテーブルから1つのテーブルに複数の行を挿入する

  3. 3

    1つのテーブルから複数のテーブルにデータを転送することは可能ですか?それらのテーブルはそのデータを含むテーブルから作成されています

  4. 4

    1つのテーブル行に複数のデータを保存する方法

  5. 5

    同じテーブル内の別の行からデータを見つけるために、1つの行でSQLQUERYを複数検索する

  6. 6

    テーブルから複数の行を削除する(SQL)

  7. 7

    テーブルから複数の行を削除する

  8. 8

    Oracleの複数のテーブルから1つのテーブルにデータを挿入するにはどうすればよいですか?

  9. 9

    2つのテーブルからデータを削除する

  10. 10

    複数のレベルで1つのテーブルから別のテーブルにデータを結合する

  11. 11

    1つのテーブルから別のテーブルに複数の行を転送する方法(SQL)

  12. 12

    複数の列を持つデータのテーブルからANOVAテストを実行する

  13. 13

    複数のテーブルで1つのテーブルデータを使用するmysql

  14. 14

    複数の選択からデータベースビューを作成できますか?たとえば、行1は完全に1つのテーブルからのものであり、行2は別のテーブルからのものです。

  15. 15

    SQLで複数のテーブルをリンクしながら2つのテーブルからデータを表示する

  16. 16

    SQLServerが複数のテーブルからデータをプルする

  17. 17

    ApacheNifi-1つのフローで複数のテーブルからデータを読み取ります

  18. 18

    SQL Serverの1つのテーブルの複数の行から別の行にデータをコピーする方法は?

  19. 19

    Accessで別のテーブルのデータから1つのテーブルを作成する

  20. 20

    2つのテーブルから1つのテーブルに複数の行を挿入します

  21. 21

    codeigniterの複数のテーブルからデータを削除します

  22. 22

    2つのタイムスタンプで複数のテーブルからデータを取得する

  23. 23

    1つのmysqlクエリで複数のテーブルからデータを選択します

  24. 24

    1つのステートメントで複数のテーブルから削除する

  25. 25

    PHPの1つのデータベースから2つの異なるテーブルから複数のデータを取得する方法

  26. 26

    複数のテーブルから1つのテーブルに重複せずにデータをコピーする

  27. 27

    SQLServerが複数のテーブルからデータを取得する

  28. 28

    SQLで1つのテーブルから次のテーブルにデータを挿入する

  29. 29

    複数のテーブルから1つのフィールドのデータを取得するにはどうすればよいですか?

ホットタグ

アーカイブ