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

Bagaimana untuk Mengemas kini Lajur MySQL dengan Nilai dari Jadual Lain?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 04:51:09502semak imbas

How to Update a MySQL Column with Values from Another Table?

Pangkalan Data MySQL: Kemas kini lajur menggunakan nilai daripada jadual lain

Matlamat artikel ini adalah untuk mengisi lajur "nilai" dalam "jadualB" dengan nilai yang sepadan dalam "jadualA" berdasarkan nama yang sepadan.

KEMASKINI sintaks pernyataan:

Untuk mengemas kini lajur "nilai" dalam "jadualB", kita boleh menggunakan kenyataan KEMASKINI berikut:

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>

Arahan:

  • Pertanyaan SELECT dalaman mencari "nilai" yang sepadan dalam "jadualA" berdasarkan "nama" yang sepadan.
  • Pernyataan UPDATE luar mengemas kini lajur "nilai" dalam "jadualB" dengan nilai yang ditemui.
  • Klausa WHERE dalam pernyataan UPDATE luar memastikan bahawa hanya rekod yang sepadan dikemas kini.

Contoh:

Menggunakan data sampel:

<code class="language-sql">UPDATE tableB
SET tableB.value = (
  SELECT a.value
  FROM tableA a
  WHERE a.name = tableB.name
)
WHERE tableB.name IN (
  SELECT name
  FROM tableA
);</code>

Selepas melaksanakan pernyataan ini, "tableB.value" akan dikemas kini seperti berikut:

<code>id  name  value
===================
1   Joe     22
2   Derk    30</code>

Pilihan lain:

  • Untuk mengemas kini hanya baris tertentu, anda boleh menambah syarat tambahan dalam klausa WHERE.
  • Untuk mengemas kini "tableB.value" secara dinamik berdasarkan "tableA.value", anda boleh menggunakan pernyataan IF dalam klausa SET, seperti yang ditunjukkan dalam contoh.

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

Kenyataan:
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