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!