Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mengemas kini Berbilang Jadual MySQL Serentak dengan Satu Pertanyaan?

Bagaimanakah Saya Boleh Mengemas kini Berbilang Jadual MySQL Serentak dengan Satu Pertanyaan?

Susan Sarandon
Susan Sarandonasal
2025-01-20 09:21:10471semak imbas

How Can I Update Multiple MySQL Tables Simultaneously with a Single Query?

Mengemas kini Berbilang Jadual MySQL dengan Cekap Sekali

Amalan pangkalan data standard selalunya melibatkan pertanyaan kemas kini berasingan untuk setiap jadual. Walau bagaimanapun, MySQL menawarkan kaedah yang diperkemas untuk mengemas kini berbilang jadual secara serentak menggunakan satu pertanyaan. Pendekatan ini memudahkan interaksi pangkalan data, meningkatkan kejelasan kod dan berpotensi meningkatkan prestasi dengan mengurangkan overhed komunikasi pangkalan data.

Teknik Kemas Kini Satu Pertanyaan

Sintaks berikut menunjukkan cara mengemas kini berbilang jadual MySQL dengan hanya satu pertanyaan:

<code class="language-sql">UPDATE TABLE1, TABLE2
SET TABLE1.column1 = value1, TABLE1.column2 = value2,
    TABLE2.column1 = value1, TABLE2.column2 = value2
WHERE condition;</code>

Mari kita gambarkan ini dengan contoh yang melibatkan dua jadual: Books dan Orders.

<code class="language-sql">-- Books table
CREATE TABLE Books (
    BookID INT PRIMARY KEY,
    BookName VARCHAR(50),
    InStock INT
);

-- Orders table
CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    BookID INT,
    Quantity INT
);</code>

Andaikan kita perlu menambah kuantiti pesanan untuk OrderID 1002 sebanyak 2 dan pada masa yang sama mengurangkan stok buku dalam jadual Books. Pertanyaan berikut mencapai ini:

<code class="language-sql">UPDATE Books, Orders
SET Orders.Quantity = Orders.Quantity + 2,
    Books.InStock = Books.InStock - 2
WHERE
    Books.BookID = Orders.BookID
    AND Orders.OrderID = 1002;</code>

Kaedah ini menyelaraskan operasi pangkalan data, menjadikan kod anda lebih mudah dibaca dan berkemungkinan lebih pantas dengan mengurangkan bilangan interaksi dengan pangkalan data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Berbilang Jadual MySQL Serentak dengan Satu Pertanyaan?. 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