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

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

DDD
Lepaskan: 2025-01-17 05:01:10
asal
426 orang telah melayarinya

How to Update a MySQL Column's Value Based on Data from Another Table?

MySQL: Kemas kini nilai lajur berdasarkan data daripada jadual lain

Soalan:

Andaikan terdapat dua jadual dengan struktur yang serupa:

id name value
1 Joe 22
2 Derk 30

Tugasnya ialah untuk mengemas kini lajur "nilai" dalam jadual B dengan nilai dalam jadual A berdasarkan nilai "nama" yang sepadan.

Penyelesaian:

Anda boleh menggunakan pernyataan SQL UPDATE dengan klausa JOIN untuk melaksanakan operasi kemas kini ini. Berikut ialah pertanyaan yang mungkin:

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

Pertanyaan ini akan mengemas kini lajur "nilai" semua baris dalam jadual B yang sepadan dengan jadual A, berdasarkan lajur "nama".

Kemas kini nilai dinamik:

Anda boleh mengubah suai pertanyaan untuk mengemas kini jadual B.value secara dinamik berdasarkan nilai dalam jadual A.value. Sebagai contoh, pertanyaan berikut hanya mengemas kini jadual B.value jika jadual A.value lebih besar daripada 0:

<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

Dalam contoh ini, lajur "nilai" dalam baris dengan "nama" "Joe" dalam Jadual B akan dikemas kini dengan nilai daripada Jadual A hanya jika nilai dalam Jadual A lebih besar daripada 0. Jika tidak, nilai sedia ada dalam Jadual B akan kekal tidak berubah.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Nilai Lajur MySQL Berdasarkan Data dari 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan