2014-11-22 47 views
2

我遇到问题。我有一个查询检查一个数据库表并更新另一个数据库表。我正在使用MySQL 5.1从两个数据库查询的Java连接字符串

UPDATE dldd.temp,test.temp 
SET test.temp.name = dldd.temp.word 
WHERE dldd.temp.id = test.temp.id 

这是我的SQL语句,它工作正常。现在我想用Java PreparedStatement来执行这个语句。问题是我不知道怎么写的连接字符串选择两个数据库即

"jdbc:mysql://localhost:3306/"+dbname+"?characterEncoding=UTF-8" 

什么应该来代替DBNAME的。我可以在那里选择多个分贝。

回答

2

看一看http://dev.mysql.com/doc/connector-j/en/connector-j-reference-configuration-properties.html

如果没有指定数据库,则连接是在没有默认数据库的情况下进行的。在这种情况下,可以在Connection实例上调用setCatalog()方法,或者在SQL中使用数据库名称(即SELECT dbname.tablename.colname FROM dbname.tablename ...)完全指定表名。在没有指定要使用的数据库的情况下打开连接通常仅在构建可用于多个数据库的工具(如GUI数据库管理器)时才有用。

+0

谢谢你解决了这个问题。我没有在那里指定数据库并且它正在工作,但是用户应该在MySQl服务器上拥有所有的PRIVILEGES以这种方式连接。 – 2014-11-22 13:05:51