Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memasukkan Data ke dalam Berbilang Jadual MySQL Menggunakan Transaksi?

Bagaimanakah Saya Boleh Memasukkan Data ke dalam Berbilang Jadual MySQL Menggunakan Transaksi?

DDD
Lepaskan: 2024-12-15 00:02:12
asal
877 orang telah melayarinya

How Can I Insert Data into Multiple MySQL Tables Using Transactions?

Memasukkan ke dalam Berbilang Jadual MySQL Menggunakan Transaksi

Memasukkan data ke dalam berbilang jadual menggunakan satu pertanyaan MySQL tidak boleh dilakukan secara langsung. Walau bagaimanapun, terdapat cara yang lebih baik untuk mencapai hasil yang sama.

Menggunakan Transaksi

Transaksi membolehkan anda mengumpulkan berbilang penyata MySQL ke dalam satu unit kerja. Jika mana-mana penyata dalam urus niaga gagal, keseluruhan urus niaga akan ditarik balik, memastikan integriti data. Begini cara anda boleh menggunakan transaksi untuk memasukkan data ke dalam berbilang jadual:

BEGIN;
INSERT INTO users (username, password) VALUES ('test', 'test');
INSERT INTO profiles (userid, bio, homepage) VALUES (LAST_INSERT_ID(), 'Hello world!', 'http://www.stackoverflow.com');
COMMIT;
Salin selepas log masuk
  • Penyata BEGIN memulakan transaksi.
  • Penyata INSERT seterusnya memasukkan data ke dalam pengguna dan profil jadual.
  • LAST_INSERT_ID() mendapatkan semula ID yang dijana secara automatik daripada jadual pengguna dan ia digunakan dalam sisipan jadual profil.
  • Penyata COMMIT memuktamadkan urus niaga dan membuat perubahan kekal.

Pertimbangan Lain

  • Menyimpan ID Sisipan Terakhir dalam Pembolehubah MySQL: Anda juga boleh menyimpan LAST_INSERT_ID() dalam pembolehubah MySQL untuk digunakan dalam pertanyaan seterusnya. Gunakan sintaks berikut:
INSERT ...
SELECT LAST_INSERT_ID() INTO @mysql_variable_here;
INSERT INTO table2 (@mysql_variable_here, ...);
Salin selepas log masuk
  • Menyimpan ID Sisipan Terakhir dalam Pembolehubah PHP: Anda boleh mengambil LAST_INSERT_ID() menggunakan fungsi PHP seperti mysql_insert_id() dan simpan dalam PHP pembolehubah.

Amaran

Apabila menggunakan transaksi, adalah penting untuk mempertimbangkan akibat jika pelaksanaan terganggu semasa proses. Jika sisipan separa atau baris yang tiada dalam satu jadual tidak boleh diterima, anda mesti membungkus keseluruhan proses dalam transaksi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Data ke dalam Berbilang Jadual MySQL Menggunakan Transaksi?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan