mysqlで同じ列を持つ複数のテーブルから削除するにはどうすればよいですか?

カマル

(PK / FK) の関係がない以下の構造の 2 つのテーブルがあります。

======== country =======
+----+-------+---------+
| id | name  | visible |
+----+-------+---------+
|  1 | kkk   |       0 |
|  2 | mmm   |       1 |
|  3 | ttt   |       1 |
|  4 | kkkkk |       0 |
+----+-------+---------+

============ city =============
+----+------+---------+-------+
| id | name | visible | c_id  |
+----+------+---------+-------+
|  3 | k333 |       0 |     1 |
|  2 | k222 |       1 |     1 |
|  1 | kkk  |       1 |     1 |
|  4 | k444 |       0 |     2 |
|  6 | k666 |       0 |     2 |
+----+------+---------+-------+

2 つのテーブル間のリンクとして country.id と city.country_id を使用しています。可視性の値が 0 の国と都市を削除しようとしています。検索した後、次のコードを思い付きました。

delete country , city from country, city where city.country_id = country.id and country.id in (select id from country where visible = 0);

しかし、それは以下のエラーを返します:

ERROR 1093 (HY000): You can't specify target table 'country' for update in FROM clause

次のような WHERE で JOIN を使用しようとしました。

DELETE country , city 
FROM country JOIN city 
ON city.country_id = country.id 
WHERE  country.visible = 0

うまくいきましたが、値が 0 の行がもう 1 つあり、削除されませんでした。

======== Country ======
+----+-------+---------+
| id | name  | visible |
+----+-------+---------+
|  2 | mmm   |       1 |
|  3 | ttt   |       1 |
|  4 | kkkkk |       0 |
+----+-------+---------+
ミハイト

JOIN を WHERE とともに使用すると、より明確になります。

DELETE country , city 
FROM country JOIN city 
ON city.country_id = country.id 
WHERE  country.visible = 0

サンプル データでは、visible=0 の kkk 行は、都市テーブルに存在しない ID が 4 であるため、削除されないため、結合で選択されません。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

複数の列に同じ値を持つMySQLテーブルからすべての行を取得するにはどうすればよいですか?

分類Dev

同じ列パスを持つ別のテーブルからテーブルを埋めるにはどうすればよいですか?

分類Dev

SQL Serverで複数の列を同じテーブルの1つの列にマージするにはどうすればよいですか?

分類Dev

同じCSSを持つ複数の要素から選択するにはどうすればよいですか?

分類Dev

同じ mySQL テーブルから複数のデータを結合したままにするにはどうすればよいですか?

分類Dev

MySQLで同じ値を持つ重複行を削除するにはどうすればよいですか?

分類Dev

Backandのテーブルから複数の行を削除するにはどうすればよいですか?

分類Dev

同じ数のフィールドを持つテーブルに値の行を乗算するにはどうすればよいですか?

分類Dev

SQL同じ列を持つテーブルを結合し、結合のような統計を使用するにはどうすればよいですか?

分類Dev

PHPを使用してSQLから同じテーブルの列名を持つデータを取得するにはどうすればよいですか?

分類Dev

同じ列を持つExcelの2つのテーブルをマージするにはどうすればよいですか?

分類Dev

複数のテーブル列を持つ2つのテーブルを追加するにはどうすればよいですか?

分類Dev

同じテーブルの2つの列から1つの行で異なる結果を取得するにはどうすればよいですか?

分類Dev

BigQueryから重複データを削除し、多くの属性を持つ別のテーブルに保存するにはどうすればよいですか

分類Dev

SQLで同じIDと異なるテーブルを持つ列の合計を取得するにはどうすればよいですか?

分類Dev

1つのフィールドを同じテーブルの複数のフィールドに解析するにはどうすればよいですか?

分類Dev

複数のクラス (同じエンティティですが、拡張されたプロパティを持つ) を同じデータベース テーブルにマップするにはどうすればよいですか?

分類Dev

テーブルから重複する行を削除し、列の値の合計を維持するにはどうすればよいですか?

分類Dev

Sequelizeで、同じテーブルから複数の外部キー行を熱心にロードするにはどうすればよいですか?

分類Dev

同じテーブルから複数のテーブルを含めるにはどうすればよいですか?

分類Dev

1つのステートメントでkdbテーブルの同じ列を複数回クエリするにはどうすればよいですか?

分類Dev

同じIDを持つ複数の要素でJavaScriptを使用するにはどうすればよいですか?

分類Dev

Pythonで複数の条件を持つ配列Aからブール配列を取得するにはどうすればよいですか?

分類Dev

Mysql:複数のテーブルから3つの列を取得するにはどうすればよいですか?

分類Dev

同様の列名を持つ異なる無関係のテーブルから列を取得するにはどうすればよいですか?

分類Dev

同じテーブルの複数の行を1つの行の結果にマージするにはどうすればよいですか?

分類Dev

同じ主キーを持つ行を削除した後、データをテーブルに挿入するにはどうすればよいですか?

分類Dev

すべて同じ名前のテーブルを削除するにはどうすればよいですか

分類Dev

ティブル列のベクトルを同じティブルの複数の列に抽出するにはどうすればよいですか?

Related 関連記事

  1. 1

    複数の列に同じ値を持つMySQLテーブルからすべての行を取得するにはどうすればよいですか?

  2. 2

    同じ列パスを持つ別のテーブルからテーブルを埋めるにはどうすればよいですか?

  3. 3

    SQL Serverで複数の列を同じテーブルの1つの列にマージするにはどうすればよいですか?

  4. 4

    同じCSSを持つ複数の要素から選択するにはどうすればよいですか?

  5. 5

    同じ mySQL テーブルから複数のデータを結合したままにするにはどうすればよいですか?

  6. 6

    MySQLで同じ値を持つ重複行を削除するにはどうすればよいですか?

  7. 7

    Backandのテーブルから複数の行を削除するにはどうすればよいですか?

  8. 8

    同じ数のフィールドを持つテーブルに値の行を乗算するにはどうすればよいですか?

  9. 9

    SQL同じ列を持つテーブルを結合し、結合のような統計を使用するにはどうすればよいですか?

  10. 10

    PHPを使用してSQLから同じテーブルの列名を持つデータを取得するにはどうすればよいですか?

  11. 11

    同じ列を持つExcelの2つのテーブルをマージするにはどうすればよいですか?

  12. 12

    複数のテーブル列を持つ2つのテーブルを追加するにはどうすればよいですか?

  13. 13

    同じテーブルの2つの列から1つの行で異なる結果を取得するにはどうすればよいですか?

  14. 14

    BigQueryから重複データを削除し、多くの属性を持つ別のテーブルに保存するにはどうすればよいですか

  15. 15

    SQLで同じIDと異なるテーブルを持つ列の合計を取得するにはどうすればよいですか?

  16. 16

    1つのフィールドを同じテーブルの複数のフィールドに解析するにはどうすればよいですか?

  17. 17

    複数のクラス (同じエンティティですが、拡張されたプロパティを持つ) を同じデータベース テーブルにマップするにはどうすればよいですか?

  18. 18

    テーブルから重複する行を削除し、列の値の合計を維持するにはどうすればよいですか?

  19. 19

    Sequelizeで、同じテーブルから複数の外部キー行を熱心にロードするにはどうすればよいですか?

  20. 20

    同じテーブルから複数のテーブルを含めるにはどうすればよいですか?

  21. 21

    1つのステートメントでkdbテーブルの同じ列を複数回クエリするにはどうすればよいですか?

  22. 22

    同じIDを持つ複数の要素でJavaScriptを使用するにはどうすればよいですか?

  23. 23

    Pythonで複数の条件を持つ配列Aからブール配列を取得するにはどうすればよいですか?

  24. 24

    Mysql:複数のテーブルから3つの列を取得するにはどうすればよいですか?

  25. 25

    同様の列名を持つ異なる無関係のテーブルから列を取得するにはどうすればよいですか?

  26. 26

    同じテーブルの複数の行を1つの行の結果にマージするにはどうすればよいですか?

  27. 27

    同じ主キーを持つ行を削除した後、データをテーブルに挿入するにはどうすればよいですか?

  28. 28

    すべて同じ名前のテーブルを削除するにはどうすればよいですか

  29. 29

    ティブル列のベクトルを同じティブルの複数の列に抽出するにはどうすればよいですか?

ホットタグ

アーカイブ