我想通过使用 JDBC 的 Java 程序检查名为 basestation
的表是否存在于 MySQL 表中。我的代码是:
conn = DriverManager.getConnection(url, username, password);
DatabaseMetaData dbm = conn.getMetaData();
tables = dbm.getTables(null, null, "basestations", null);
if (tables.next())
{
//Table exists in database
//...
}
else
{
//Table does not exist
//...
}
但是虽然表 basestations
存在于我的数据库中,但我的代码似乎从未进入第一个子句并且总是决定该表不存在,自然导致 表已经存在于数据库中
尝试从头开始创建表时出现 SQL 错误。
最佳答案
下面不是最好的方法。但是您可以执行以下操作:
使用JDBC发送如下语句:
select count(*) from information_schema.tables where information_schema.table_schema='your_schema' and information_schema.table_name='basestations';
解析jdbc结果集。
这应该返回 1 或 0。如果结果计数为 1,则表存在,否则不存在。
关于java - 尝试使用 JDBC 测试 MySQL 数据库中是否存在特定表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898059/