Rumah  >  Artikel  >  pangkalan data  >  Bagaimana Mengemas kini Berbilang Jadual dengan Nilai Serupa dengan Cekap dalam MySQL?

Bagaimana Mengemas kini Berbilang Jadual dengan Nilai Serupa dengan Cekap dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 00:44:30314semak imbas

How to Efficiently Update Multiple Tables with Similar Values in MySQL?

Mengemas kini Berbilang Jadual dengan Nilai Serupa dalam MySQL

Dalam senario di mana anda mempunyai dua jadual yang memerlukan kemas kini yang sama untuk penyahnormalan, anda boleh menggunakan kemas kini berbilang jadual yang ditawarkan oleh MySQL. Pendekatan ini membenarkan kemas kini serentak merentas berbilang jadual dengan satu pernyataan.

Untuk mencapai ini:

  1. Kenal pasti Lajur Biasa: Tentukan lajur mana dalam kedua-dua jadual perlu dikemas kini dengan nilai yang sama.
  2. Sertai Jadual: Gunakan INNER JOIN untuk menyambungkan jadual berdasarkan lajur biasa (cth., id pengguna).
  3. Nyatakan Kemas Kini: Dalam klausa SET, senaraikan lajur yang akan dikemas kini dan nilainya yang sepadan. Pastikan nilai adalah konsisten merentas kedua-dua jadual.
  4. Tapis Keputusan: Tambah sebarang syarat yang diperlukan (cth., klausa WHERE) untuk menapis baris tertentu yang akan dikemas kini.

Sebagai contoh, pertimbangkan pertanyaan berikut:

UPDATE Table_One a INNER JOIN Table_Two b ON (a.userid = b.userid)
SET
  a.win = a.win+1, a.streak = a.streak+1, a.score = a.score+200,
  b.win = b.win+1, b.streak = b.streak+1, b.score = b.score+200 
WHERE a.userid = 1 AND a.lid = 1 AND b.userid = 1

Di sini, lajur kemenangan, rentak dan skor kedua-dua jadual dikemas kini secara berperingkat untuk id pengguna dan nilai penutup tertentu. Ambil perhatian bahawa lajur penutup tidak terdapat dalam Jadual_Dua, jadi nilainya tidak dikemas kini.

Pertimbangan Tambahan:

  • Kemas kini berbilang jadual tidak menyokong LIMIT , jadi kemas kini mungkin menjejaskan lebih banyak baris daripada yang dimaksudkan.
  • Prosedur atau transaksi yang disimpan mungkin memberikan kawalan yang lebih baik dalam situasi tertentu.

Atas ialah kandungan terperinci Bagaimana Mengemas kini Berbilang Jadual dengan Nilai Serupa dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn