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
Lepaskan: 2024-11-29 18:44:11
asal
238 orang telah melayarinya

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

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

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!

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