
Menggabungkan Berbilang Penyata INSERT MySQL dalam Satu Pertanyaan
Timbul persoalan sama ada ia sah untuk menggabungkan beberapa pernyataan MySQL INSERT ke dalam satu pertanyaan , seperti yang ditunjukkan dalam kod berikut:
1 2 3 4 | <code class = "php" > $string1 = "INSERT INTO....;" ;
$string1 .= "INSERT INTO....;" ;
$string1 .= "INSERT INTO....;" ;
mysql_query( $string1 ) or die (mysql_error()); </code>
|
Salin selepas log masuk
Walau bagaimanapun, adalah disyorkan untuk mengelakkan pendekatan ini dan sebaliknya menggunakan kaedah yang lebih cekap untuk memasukkan berbilang baris. Pendekatan pilihan adalah menggunakan satu pernyataan INSERT dengan berbilang klausa VALUES, seperti yang ditunjukkan dalam contoh berikut:
1 2 | <code class = "php" >INSERT INTO a VALUES (1,23),(2,34),(4,33);
INSERT INTO a VALUES (8,26),(6,29);</code>
|
Salin selepas log masuk
Pendekatan ini menawarkan beberapa kelebihan:
-
Diperbaiki Prestasi: Melaksanakan berbilang pernyataan INSERT dalam satu pertanyaan boleh menghasilkan prestasi yang lebih perlahan berbanding dengan menggunakan satu pernyataan INSERT dengan berbilang klausa VALUES.
-
Trafik Rangkaian Mengurangkan: Menghantar satu pertanyaan dengan semua sisipan yang diperlukan mengurangkan trafik rangkaian dan meningkatkan masa tindak balas.
-
Kebolehbacaan Kod Dipertingkat: Menggabungkan berbilang penyataan INSERT ke dalam satu rentetan boleh menjadikan kod kurang boleh dibaca dan lebih sukar untuk dikekalkan.
Atas ialah kandungan terperinci Bolehkah Berbilang Penyata INSERT MySQL Digabungkan dalam Satu Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!