Anda tidak dapat menghapus dari tabel selama rekaman dependen masih ada di tabel lain. Dalam kasus Anda, ketergantungannya seperti ini
Transaction <- Purchase -> Item
Jadi, Anda perlu menghapus pembelian apa pun terlebih dahulu sebelum Anda dapat menghapus transaksi.
Sebagai alternatif dari pendekatan dua langkah itu, saya akan merekomendasikan pengaturan ON DELETE CASCADE
kendala
dan ikuti ini:
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>
)
Hati-hati karena ini akan menghapus Transaction
(dan, melalui CASCADE, setiap Purchase
) di mana ada Item
yang bergantung dengan Client_ID
yang cocok , terlepas dari apakah ada lainnya item di dalamnya. Jika ini bukan yang Anda inginkan, pertanyaannya perlu disempurnakan.