Memasukkan data secara serentak ke dalam berbilang jadual dalam MySQL tidak boleh dilakukan menggunakan satu pertanyaan. Walau bagaimanapun, terdapat pendekatan alternatif untuk mencapai ini:
Anda boleh melaksanakan berbilang pernyataan INSERT sebagai satu kelompok:
BEGIN; INSERT INTO visits (visit_id, card_id) VALUES (NULL, 12131141); INSERT INTO registration (registration_id, type, timestamp, visit_id) VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID()); COMMIT;
Sebagai alternatif, anda boleh membuat prosedur tersimpan yang merangkumi kedua-dua INSERT kenyataan:
CREATE PROCEDURE insert_into_multiple_tables( IN card_id INT ) BEGIN INSERT INTO visits (visit_id, card_id) VALUES (NULL, card_id); INSERT INTO registration (registration_id, type, timestamp, visit_id) VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID()); END
Anda kemudiannya boleh melaksanakan prosedur tersimpan dengan ID kad yang dikehendaki:
CALL insert_into_multiple_tables(12131141);
Untuk memastikan integriti data, anda boleh membungkus batch atau prosedur tersimpan dalam transaksi:
BEGIN TRANSACTION; -- Execute INSERT statements here COMMIT;
Jika mana-mana pernyataan INSERT gagal, transaksi akan ditarik balik, memastikan data dalam semua jadual yang terjejas kekal konsisten.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data ke dalam Pelbagai Jadual dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!