Me respondo a mi mismo, por si le sirve a alguien más.
buscando acabo de encontrar el método PHP
mysql_insert_id()
http://us2.php.net/manual/en/function.mysql-insert-id.php
Con esto podría hacer:
Código:
mysql_query("INSERT INTO comercio (direccion, info, etc ) VALUES ('valor1', 'valor2', 'valor3')" );
$id_comercio = mysql_insert_id();
INSERT INTO comercio_categoria (id_comercio, id_categoria) VALUES ($id_comercio, 'valor_cat_1')
INSERT INTO comercio_categoria (id_comercio, id_categoria) VALUES ($id_comercio, 'valor_cat_2')
INSERT INTO comercio_categoria (id_comercio, id_categoria) VALUES ($id_comercio, 'valor_cat_3')
INSERT INTO comercio_categoria (id_comercio, id_categoria) VALUES ($id_comercio, 'valor_cat_4')
Lo extraño esque no encuentro la forma de hacerlo simplemente con una sentencia sql, ¿qué ocurriría si no usase php?
Muchas gracias de nuevo :)