La razón por la que obtiene esa excepción es porque está insertando un registro en la tabla test_usershosts cuál es el valor del userID no está presente en la tabla test_users . Igual que el valor de hid tampoco está presente en la tabla test_hosts .
Tabla test_usershosts depende de tablas:test_users y test_hosts . Así que asegúrese de que al insertar registros en la tabla test_usershosts , los valores para hid y userid ya existe en las tablas principales:test_users y test_hosts .
Intente ejecutar esta consulta y seguramente se insertará.
INSERT INTO test_usershosts (RID,userid,hid,Usr,Pass)
VALUES (NULL,1120,30,'user','pass');
Veo que AUTO_INCREMENT opción en tablas:test_users y test_hosts , no son necesarios ya que proporciona valores en cada consulta que ejecuta en las dos tablas.