Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Jadual Bergabung dalam MySQL Apabila Jadual Sasaran Bukan Pertama?

Bagaimana untuk Mengemas kini Jadual Bergabung dalam MySQL Apabila Jadual Sasaran Bukan Pertama?

Linda Hamilton
Linda Hamiltonasal
2024-11-29 18:44:11309semak imbas

How to Update a Joined Table in MySQL When the Target Table Isn't First?

Mengemaskini Jadual Bercantum dalam MySQL dengan Susunan Jadual Terbalik

Tugas mengemas kini jadual yang terlibat dalam pernyataan gabungan boleh mencabar apabila jadual yang dikehendaki tidak terletak pada permulaan. Dalam MySQL, tidak seperti SQL Server, sintaks untuk kemas kini berbilang jadual berbeza, menangani isu ini.

Pertimbangkan contoh berikut di mana objektifnya adalah untuk mengemas kini jadual 'b':

UPDATE b
FROM tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;

Dalam MySQL, sintaks pernyataan UPDATE dengan klausa JOIN tidak menyatakan jadual untuk dikemas kini. Sebaliknya, ia ditentukan secara tersirat oleh klausa SET.

Oleh itu, untuk mencapai kemas kini yang diingini, sintaks yang disemak berikut boleh digunakan:

UPDATE tableA a
JOIN tableB b
   ON a.a_id = b.a_id
JOIN tableC c
   ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
    AND c.val > 10;

Adalah penting untuk ambil perhatian bahawa KEMASKINI dengan JOIN sintaks bukan sebahagian daripada spesifikasi SQL standard, dan kedua-dua MySQL dan Microsoft SQL Server telah melaksanakan variasi mereka sendiri.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Jadual Bergabung dalam MySQL Apabila Jadual Sasaran Bukan Pertama?. 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