1

このコードを変更して、情報を取得する両方のテーブルからレコードを削除するにはどうすればよいですか?

SELECT products_description.products_name, products.products_id
FROM products INNER JOIN products_description ON products.products_id =             products_description.products_id
WHERE (((products.products_ordered)=0) AND ((products.products_status)=0));

私はSQLコーディングに非常に慣れていないので、これがばかげた質問であればすみません。

4

1 に答える 1

1

リレーションシップと単一のクエリでそれを行うことができます。

  1. 共通フィールドに基づいてproductsとの関係を設定するproducts_descriptionproducts_id
  2. 「参照整合性を強制する」のボックスにチェックマークを付けます
  3. 「カスケード削除関連レコード」のボックスにチェックマークを付けます
  4. 関係を保存します

次に、このクエリは行を削除し、削除された行の値と一致する値を含む行productsも削除します。products_descriptionproducts_idproducts

DELETE FROM products
WHERE
        products.products_ordered=0
    AND products.products_status=0;

この方法を使用する場合は、その結果を十分に理解しておいてください。追加の保護手段として、保持したいデータのバックアップを作成してテストします。;-)

于 2013-03-06T19:28:24.370 に答える