आप किसी तालिका से तब तक नहीं हटा सकते जब तक निर्भर रिकॉर्ड अभी भी किसी अन्य तालिका में मौजूद हैं। आपके मामले में, निर्भरता इस प्रकार है
Transaction <- Purchase -> Item
इसलिए लेन-देन को हटाने से पहले आपको किसी भी खरीदारी को हटाना होगा।
उस दो-चरणीय दृष्टिकोण के विकल्प के रूप में, मैं एक ON DELETE CASCADE
बाधा
और इसके साथ जाएं:
DELETE
Transaction
WHERE
Transaction_ID IN (
SELECT
Transaction_ID
FROM
Purchase INNER JOIN Item ON Item.Item_ID = Purchase.Item_ID
WHERE
Item.Client_ID = <your Client ID here>
)
सावधान रहें कि इससे कोई भी Transaction
हट जाता है (और, CASCADE के माध्यम से, कोई भी Purchase
) जहां एक आश्रित Item
. है मेल खाने वाले Client_ID
. के साथ , इस पर ध्यान दिए बिना कि कोई अन्य है या नहीं इसमें आइटम। यदि यह वह नहीं है जो आप चाहते हैं, तो प्रश्न को परिष्कृत करने की आवश्यकता है।