Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Data Jadual MySQL Berdasarkan Nilai Jadual Lain?

Bagaimana untuk Mengemas kini Data Jadual MySQL Berdasarkan Nilai Jadual Lain?

Barbara Streisand
Lepaskan: 2025-01-17 04:47:09
asal
815 orang telah melayarinya

How to Update MySQL Table Data Based on Another Table's Values?

Kemas kini data jadual MySQL berdasarkan nilai dari jadual lain

Andaikan anda mempunyai dua jadual dengan struktur yang serupa, jadualA dan jadualB:

id name value
1 Joe 22
2 Derk 30

Tugasnya ialah untuk menyalin nilai lajur nilai jadualA ke lajur nilai jadualB berdasarkan nilai nama yang sepadan dalam dua jadual.

Untuk melakukan ini, anda boleh menggunakan pernyataan MySQL UPDATE berikut:

<code class="language-sql">UPDATE tableB
INNER JOIN tableA ON tableB.name = tableA.name
SET tableB.value = tableA.value;</code>
Salin selepas log masuk

Pernyataan ini menjalankan operasi INNER JOIN antara jadualA dan jadualB berdasarkan lajur nama dan mengemas kini lajur nilai dalam jadualB dengan nilai yang sepadan dalam jadualA.

Kemas kini nilai dinamik berasaskan keadaan:

Jika anda perlu mengemas kini lajur nilai dalam jadualB secara dinamik berdasarkan nilai dalam jadualA, anda boleh menggunakan kaedah berikut:

<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>
Salin selepas log masuk

Di sini, fungsi IF() menyemak sama ada tableA.value lebih besar daripada 0. Jika benar, tetapkan tableB.value kepada nilai tableA.value jika tidak, kekalkan nilai asal dalam tableB.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Data Jadual MySQL Berdasarkan Nilai Jadual Lain?. 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