Memadam Berbilang Jadual dalam MySQL dengan Pertanyaan Tunggal
Mempunyai berbilang jadual yang menyimpan maklumat berkaitan pengguna boleh menimbulkan cabaran apabila cuba mengalih keluar pengguna dengan cekap data. Timbul persoalan: "Adakah mungkin untuk memadamkan data daripada berbilang jadual serentak dengan satu pertanyaan dalam SQL?"
Pendekatan:
Kod yang disediakan melaksanakan yang mudah. pendekatan:
DELETE FROM table1 WHERE user_id='$user_id'; DELETE FROM table2 WHERE user_id='$user_id'; DELETE FROM table3 WHERE user_id='$user_id'; DELETE FROM table4 WHERE user_id='$user_id';
Pendekatan ini melibatkan pelaksanaan penyataan DELETE yang berasingan untuk setiap jadual, melantunkan proses pemadaman. Walau bagaimanapun, ia mungkin bukan pilihan yang paling cekap atau fleksibel.
Satu Pendedahan Penting:
Hebatnya, MySQL menawarkan teknik yang lebih maju untuk mencapai tugas ini. Menurut dokumentasi rasmi, memang mungkin untuk memadamkan baris daripada berbilang jadual dalam satu pertanyaan. Dengan menggunakan sintaks JOIN, kami boleh mewujudkan perhubungan antara jadual berdasarkan keadaan biasa (dalam kes ini, medan user_id).
Kod yang Disemak:
manual menyediakan contoh ilustrasi:
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;
Dalam senario kami, kami boleh menyesuaikan pendekatan ini sebagai berikut:
DELETE user_info.* FROM user_info INNER JOIN table1 ON user_info.user_id = table1.user_id INNER JOIN table2 ON user_info.user_id = table2.user_id INNER JOIN table3 ON user_info.user_id = table3.user_id INNER JOIN table4 ON user_info.user_id = table4.user_id WHERE user_info.user_id = '$user_id';
Dengan menggunakan teknik ini, kami memadamkan baris daripada keempat-empat jadual yang berkaitan dengan pengguna yang ditentukan oleh $user_id dalam satu pertanyaan, dengan berkesan meniru pendekatan sebelumnya tetapi dengan kecekapan yang dipertingkatkan.
Atas ialah kandungan terperinci Bolehkah Pertanyaan MySQL Tunggal Memadam Data daripada Berbilang Jadual Secara serentak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!