Solo para estar seguro:cuando intenta ejecutar estas 4 consultas desde PHP, está llamando a mysql_query
cuatro veces ?
Por ejemplo:
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)");
Lo que quiero decir es que no puede enviar varias consultas distintas a la vez, con solo una llamada a mysql_query
(citando, énfasis mío) :
Tienes que "separar" tus consultas, lo que probablemente sea algo que phpMyAdmin hace sin decírtelo.
Y, como señaló @Alexandre en los comentarios:
Si está utilizando mysqli_*
funciones (y no mysql_*
) para acceder a su base de datos, puede intentar usar mysqli_multi_query
.
Desafortunadamente, existe tal función para mysql_*
.
(Por cierto:el mysql_*
La API es la anterior:sería mejor, especialmente para un nuevo proyecto, usar mysqli_*
)
Editar después del comentario:
Si se trata de actuaciones, sí, haciendo una única llamada a la base de datos, en lugar de cuatro PHP <-> MySQL
sucesivas llamadas, podría ser mejor.
En este caso, podría intentar usar la sintaxis de inserción que permite insertar varias líneas a la vez; consulte 12.2.5. INSERTAR Sintaxis en el manual de MySQL (citando) :