2017-06-15 11 views
1

問題が発生しました。カテゴリが空の場合、カテゴリを削除します。

私にはカテゴリがあります。私の質問は、カテゴリが空で製品がない場合、どのようにカテゴリをデータベースから削除できるかです。

私のコード

"DELETE 
FROM category AS a 
INNER JOIN products AS b 
ON a.cat_id = b.cat_id 
WHERE a.user_id = ? 
AND a.cat_id = ? LIMIT 1"; 

私はこのコードを実行する場合、私はエラーを取得:致命的なエラー:メッセージ「SQLSTATE [42000]でキャッチされない例外「PDOException」:構文エラーまたはアクセス違反:1064あなたがエラーを持っているがあなたのSQL構文で。

答えて

0
DELETE FROM category AS a 
Where a.cat_id = ? 
And not exists(
Select 1 
From products p 
Where p.cat_id = a.cat_id 
); 

このクエリは、私はバインド変数とフィルターにいただきたい猫と一致しました対応する製品を持っている人を探し出す。

0

私はproducts表に[ない]はカテゴリを探すためにnot exists演算子を使用したい:

DELETE 
FROM category c 
WHERE NOT EXISTS (SELECT * 
        FROM products p 
        WHERE c.cat_id = p.cat_id); 
関連する問題