Hanya untuk memastikan:ketika Anda mencoba menjalankan 4 kueri ini dari PHP, Anda memanggil mysql_query
empat kali ?
Misalnya :
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,1,1)");
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,2,1)");
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,3,1)");
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,4,1)");
Yang saya maksud adalah :Anda tidak dapat mengirim beberapa kueri yang berbeda sekaligus, dengan hanya satu panggilan ke mysql_query
(mengutip, penekanan saya) :
Anda harus "memisahkan" kueri Anda -- yang mungkin merupakan sesuatu yang dilakukan phpMyAdmin tanpa memberi tahu Anda.
Dan, seperti yang @Alexandre tunjukkan di komentar :
Jika Anda menggunakan mysqli_*
fungsi (dan bukan mysql_*
) untuk mengakses database Anda, Anda dapat mencoba menggunakan mysqli_multi_query
.
Sayangnya, ada fungsi seperti itu untuk mysql_*
.
(BTW :mysql_*
API adalah yang lama -- akan lebih baik, terutama untuk proyek baru, menggunakan mysqli_*
)
Edit setelah komentar :
Jika ini tentang kinerja, ya, melakukan satu panggilan ke database, alih-alih empat PHP <-> MySQL
berturut-turut panggilan, bisa lebih baik.
Dalam hal ini, Anda dapat mencoba menggunakan sintaks insert yang memungkinkan untuk menyisipkan beberapa baris sekaligus; lihat 12.2.5. MASUKKAN Sintaks dalam manual MySQL (mengutip) :