sql >> Base de Datos >  >> RDS >> Mysql

Java, ¿cómo cambiar la base de datos actual a otra?

Como se describe en MySQL documentación necesitas usar Connection.setCatalog() para cambiar a otra base de datos. También dice explícitamente que no ejecutar un USE <databasename> para cambiar.

El motivo de esta advertencia es que JDBC es una interfaz genérica para las bases de datos y, por lo tanto, proporciona métodos para las tareas más comunes, incluido el cambio de catalogs (o databases como están en MySQL). La especificación JDBC/javadoc también dice explícitamente que las personas deben usar la API sobre los comandos específicos de la base de datos (si ambos están disponibles). Hay varias razones para esto:1) promueve el código independiente de la base de datos y 2) el controlador puede hacer cosas adicionales internamente en respuesta a uno de los métodos API. El uso de comandos específicos de la base de datos puede hacer que el controlador se comporte mal porque su estado interno no coincide con el estado de la base de datos.

Una llamada a setCatalog(String) no afectará las declaraciones existentes, como se especifica en la documentación de la API de JDBC: