Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Data ke dalam Berbilang Jadual MySQL Secara serentak?

Bagaimana untuk Memasukkan Data ke dalam Berbilang Jadual MySQL Secara serentak?

Mary-Kate Olsen
Lepaskan: 2024-12-17 11:46:25
asal
546 orang telah melayarinya

How to Insert Data into Multiple MySQL Tables Simultaneously?

Sisip MySQL ke dalam Pelbagai Jadual: Normalisasi Pangkalan Data

Sisipan data ke dalam berbilang jadual secara serentak dalam MySQL tidak disokong secara langsung. Walau bagaimanapun, terdapat pendekatan alternatif untuk mencapai fungsi ini.

Menggunakan Transaksi

Untuk memastikan ketekalan data merentas jadual, adalah disyorkan untuk menggunakan transaksi. Transaksi merangkumi satu siri pertanyaan sebagai satu unit, menjamin bahawa semua pertanyaan sama ada berjaya atau gagal bersama-sama.

Berikut ialah contoh menggunakan urus niaga:

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

Mendapatkan Autokenaikan Nilai

Untuk memasukkan id kenaikan automatik daripada jadual pengguna ke dalam jadual profil, anda boleh menggunakan fungsi LAST_INSERT_ID(). Walau bagaimanapun, jika penyata sisipan berikutnya dimasukkan ke dalam jadual dengan lajur autokenaikan sendiri, nilai LAST_INSERT_ID() akan dikemas kini kepada nilai jadual tersebut.

Untuk mengekalkan nilai LAST_INSERT_ID() asal, anda boleh menyimpan dalam pembolehubah tersuai dalam transaksi.

Menggunakan MySQL Pembolehubah:

INSERT ...
SELECT LAST_INSERT_ID() INTO @mysql_variable_here;
INSERT INTO table2 (@mysql_variable_here, ...);
Salin selepas log masuk

Menggunakan Pembolehubah Bahasa:

// PHP example
$mysqli->query("INSERT INTO table1 ...");
$userid = $mysqli->insert_id;
$mysqli->query("INSERT INTO table2 ($userid, ...)");
Salin selepas log masuk

Awas

Adalah penting untuk pertimbangkan ketekalan pangkalan data apabila memasukkan ke dalam berbilang jadual. Jika terganggu, transaksi memastikan bahawa semua pertanyaan sama ada dilaksanakan sepenuhnya atau tidak sama sekali. Tanpa urus niaga, sisipan separa boleh mengakibatkan ketidakkonsistenan.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data ke dalam Berbilang Jadual MySQL Secara serentak?. 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