Rumah >pangkalan data >tutorial mysql >Bagaimana Menggunakan MySQL JOIN untuk Mengemas kini Lajur Jadual Berdasarkan Data Jadual Digabungkan?

Bagaimana Menggunakan MySQL JOIN untuk Mengemas kini Lajur Jadual Berdasarkan Data Jadual Digabungkan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-02 17:36:40765semak imbas

How to Use MySQL JOIN for Updating Table Columns Based on Joined Table Data?

Sintaks Kemas Kini Sertai MySQL

Artikel ini memberikan pandangan tentang kaedah MySQL untuk melaksanakan kemas kini gabungan, yang melibatkan pengemaskinian lajur jadual berdasarkan data yang diambil daripada jadual bercantum.

Menggunakan Kemas Kini Sertai Sintaks

Mari kita pertimbangkan senario di mana anda mempunyai dua jadual:

  • Kereta api: Mengandungi maklumat kereta api, termasuk ID dan kapasiti.
  • Tempahan: Memegang butiran tempahan, seperti ID, maklumat penumpang, perjalanan tarikh, bilangan tempat duduk ditempah, laluan dan ID kereta api.

Objektif: Menambah kapasiti kereta api apabila tempahan dibatalkan.

Sintaks :

UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID)
SET t.Capacity = t.Capacity + r.NoSeats
WHERE r.ReservationID = ?;

Begini caranya berfungsi:

  • Klausa JOIN mewujudkan hubungan antara Tempahan (r) dan Kereta Api (t) berdasarkan lajur Kereta Api yang sepadan.
  • Klausa SET menyatakan bahawa lajur Kapasiti dalam Kereta Api hendaklah ditambah dengan nilai dalam NoSeats daripada Tempahan.
  • Klausa WHERE menapis baris berdasarkan memberikan ID Tempahan untuk tempahan yang dibatalkan.

Menaikkan Kerusi Sewenang-wenang

Untuk menambah bilangan kerusi yang sewenang-wenangnya, cuma ubah suai klausa SET seperti berikut:

SET t.Capacity = t.Capacity + ?

Transaksi Pertimbangan

  • Ya, anda boleh memadamkan tempahan selepas kemas kini dalam satu transaksi Java.
  • Pastikan kemas kini dilakukan sebelum pemadaman.

Atas ialah kandungan terperinci Bagaimana Menggunakan MySQL JOIN untuk Mengemas kini Lajur Jadual Berdasarkan Data Jadual Digabungkan?. 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