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>
Dalam pertanyaan kemas kini berbilang jadual ini:
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!