Bagaimana untuk Mengemas kini Berbilang Jadual dengan Nilai Yang Sama dalam MySQL?

Barbara Streisand
Lepaskan: 2024-11-02 20:36:03
asal
939 orang telah melayarinya

How to Update Multiple Tables with Identical Values in MySQL?

Mengemas kini Berbilang Jadual dengan Nilai Yang Sama

Pertimbangan Pertanyaan:

Objektifnya adalah untuk mengemas kini dua jadual, Jadual_Satu dan Jadual_Dua, dengan nilai yang sama untuk lajur tertentu (iaitu, menang, coretan dan skor) berdasarkan kriteria tertentu (iaitu, id pengguna). Walau bagaimanapun, jadual mempunyai beberapa perbezaan: Table_Two tidak mempunyai medan penutup, dan namanya berbeza-beza.

Pendekatan Kemas Kini Berbilang Jadual:

MySQL menawarkan kefleksibelan untuk melaksanakan pelbagai -kemas kini jadual melalui satu pertanyaan. Pendekatan ini memanfaatkan kuasa cantuman untuk mengaitkan jadual berdasarkan lajur biasa, membolehkan kemas kini serentak berbilang baris merentas jadual yang mengambil bahagian.

Pertanyaan Kemas Kini:

<code class="sql">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;</code>
Salin selepas log masuk

Dalam pertanyaan kemas kini berbilang jadual ini:

  • Klausa INNER JOIN mewujudkan hubungan antara dua jadual berdasarkan lajur userid.
  • Klausa SET menentukan lajur dan dikemas kini nilai untuk kedua-dua Jadual_Satu dan Jadual_Dua.

Keterbatasan dan Alternatif:

Adalah penting untuk ambil perhatian bahawa kemas kini berbilang jadual tidak menyokong LIMIT. Akibatnya, pertanyaan mungkin mengemas kini lebih banyak baris daripada yang dimaksudkan. Oleh itu, transaksi atau prosedur tersimpan mungkin merupakan penyelesaian yang lebih sesuai untuk memastikan kedua-dua kemas kini dilaksanakan secara atom.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan