Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

[MySQL]:HAPUS baris dari dua tabel dependen

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat driver Qt mysql di windows?

  2. Nilai pisah koma dengan jumlah baris yang sama

  3. MySql memilih nilai default jika tidak ada hasil?

  4. PHP &MySql memeriksa apakah tabel kosong

  5. Menyimpan hasil pernyataan yang disiapkan sebagai tabel di mysql?