Esta query funcionará pero es en potencia altamente ineficiente puesto que hace un producto cartesiano de las dos tablas para localizar una sola combinación, si el numero de usuarios y restaurantes es grande el producto cartesiano de ambas tablas lo sera mucho mas... Nada te aseguara que dos restaruntes no tengan el mismo nombre....
Código MySQL:
Ver originalINSERT INTO usuario_restaurante
( idusuario
, idrestaurante
) SELECT usuarios.idusuario
, restaurantes.idrestaurante
FROM usuarios
, restaurantes
WHERE usuarios.login
= "hhh" AND restaurantes.nombrerest
= "kkk";
Por todo ello seguro que seria mas eficiente obtener primero los dos id y hacer un insert normal.... apoyandote en la programacion externa que te estará soportando el loguin...
En el momento de hacer el login ya puedes guardar el id del usuario y en el momento que este elige restaurante lo mismo...