我遇到了问题。我有一个查询检查一个数据库表并更新另一个数据库表。我正在使用MySQL 5.1
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。我可以在那里选择多个数据库。
答案 0 :(得分: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数据库管理器)的工具时才有用。