MySQL mengemas kini data lajur jadual yang berkaitan secara dinamik
Artikel ini menerangkan cara menggunakan INNER JOIN dalam MySQL untuk mengemas kini lajur secara dinamik dalam jadual sasaran. Matlamat kami adalah untuk mengemas kini nilai lajur yang sepadan dalam jadual sumber (jadualA) kepada lajur dalam jadual sasaran (jadualB) berdasarkan atribut nama kongsi.
Boleh dicapai menggunakan kenyataan UPDATE berikut:
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = tableA.value WHERE tableA.name = 'Joe';</code>
Dengan klausa INNER JOIN, kami mewujudkan hubungan antara dua jadual berdasarkan atribut nama, memastikan bahawa hanya rekod yang sepadan dikemas kini.
Selain operasi kemas kini asas, nilai dalam tableB.value juga boleh diubah suai secara dinamik berdasarkan keadaan dalam tableA.value. Contohnya:
<code class="language-sql">UPDATE tableB INNER JOIN tableA ON tableB.name = tableA.name SET tableB.value = IF(tableA.value > 0, tableA.value, tableB.value) WHERE tableA.name = 'Joe';</code>
Pernyataan ini hanya mengemas kini nilai tableA.value ke lajur tableB.value apabila tableA.value lebih besar daripada 0. Jika tidak, ia mengekalkan nilai asal dalam lajur tableB.value. Dengan menggabungkan logik bersyarat sedemikian, tugas manipulasi data yang lebih kompleks boleh dicapai.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Lajur secara Dinamik dalam MySQL Menggunakan INNER JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!