Rumah > pangkalan data > tutorial mysql > Bagaimanakah Transaksi Memastikan Integriti Data Apabila Memasukkan Data ke dalam Jadual Berbilang Pangkalan Data?

Bagaimanakah Transaksi Memastikan Integriti Data Apabila Memasukkan Data ke dalam Jadual Berbilang Pangkalan Data?

Mary-Kate Olsen
Lepaskan: 2025-01-13 10:55:48
asal
926 orang telah melayarinya

How Can Transactions Ensure Data Integrity When Inserting Data into Multiple Database Tables?

Menggunakan Transaksi untuk Sisipan Data Berbilang Jadual

Pangkalan data perhubungan selalunya memerlukan memasukkan data merentas berbilang jadual. Walaupun satu pertanyaan tidak dapat menangani perkara ini secara langsung, transaksi menyediakan penyelesaian yang mantap.

Pendekatan Transaksi

Transaksi pangkalan data menganggap satu siri operasi sebagai unit atom tunggal. Jika mana-mana operasi dalam urus niaga gagal, keseluruhan set operasi akan dibuat asal (digulung semula), mengekalkan integriti data.

Untuk memasukkan data ke dalam berbilang jadual secara transaksi:

<code class="language-sql">START TRANSACTION;

-- Insert statement for table 1
-- Insert statement for table 2

COMMIT;</code>
Salin selepas log masuk

Melampirkan INSERT pernyataan dalam blok START TRANSACTION; ... COMMIT; memastikan ketekalan data. Sama ada semua sisipan berjaya, atau tiada, menghalang kemas kini separa yang boleh merosakkan hubungan data.

Contoh Ilustrasi

Mari kita pertimbangkan untuk memasukkan data ke dalam jadual names dan phones (seperti dalam soalan asal). Pendekatan transaksi akan kelihatan seperti ini:

<code class="language-sql">START TRANSACTION;
INSERT INTO names (id, first_name, last_name) VALUES (1, 'John', 'Doe');
INSERT INTO phones (number, name_id) VALUES ('123-456-7890', 1);
COMMIT;</code>
Salin selepas log masuk

Ini memastikan bahawa kedua-dua nama dan nombor telefon yang berkaitan dimasukkan, atau tidak, mengekalkan integriti rujukan.

Nota Penting: Sintaks yang tepat untuk pengurusan transaksi (START TRANSACTION, COMMIT, berpotensi ROLLBACK) boleh berbeza sedikit bergantung pada sistem pangkalan data khusus anda (MySQL, PostgreSQL, SQL Server, dsb. .). Rujuk dokumentasi pangkalan data anda untuk mendapatkan arahan yang tepat.

Atas ialah kandungan terperinci Bagaimanakah Transaksi Memastikan Integriti Data Apabila Memasukkan Data ke dalam Jadual Berbilang Pangkalan Data?. 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