SQL DELETEでWHERE条件のために別のテーブルをJOINした場合
2023-10-28 11:13:43
質問
から行を削除する必要があります。
guide_category
とは関係のない
guide
テーブルとの関係がない(デッドリレーション)。
以下は私がやりたいことですが、もちろんうまくいきません。
DELETE FROM guide_category AS pgc
WHERE pgc.id_guide_category IN (SELECT id_guide_category
FROM guide_category AS gc
LEFT JOIN guide AS g ON g.id_guide = gc.id_guide
WHERE g.title IS NULL)
エラーです。
FROM句で更新対象のテーブル'guide_category'を指定することはできません。
どのように解決するのですか?
ロックの実装の問題によるものです。
MySQL
では影響を受けるテーブルを参照することができません。
DELETE
または
UPDATE
.
を作る必要があります。
JOIN
を作る必要があります。
DELETE gc.*
FROM guide_category AS gc
LEFT JOIN
guide AS g
ON g.id_guide = gc.id_guide
WHERE g.title IS NULL
を使うか、あるいは
NOT IN
:
DELETE
FROM guide_category AS gc
WHERE id_guide NOT IN
(
SELECT id_guide
FROM guide
)
関連
-
ジョイントインデックスのためのmysqlの条件とインデックスが失敗するための条件
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み] 最初の行への結合方法
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】MySQL LEFT JOINで行を削除する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLデータベースでvarchar型の数値の大きさを比較する方法
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
群関数解の無効な使用
-
MySQLの起動エラー:ERROR 2003 (HY000)。localhost'上のMySQLサーバーに接続できない(10061)
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] どのトランザクションが「テーブルメタデータのロック待ち」状態を引き起こしているかを確認するにはどうすればよいですか?
-
[解決済み] Mysqlでidを使用してテーブルから多くの行を削除する
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新