【问题标题】:show tables with like using Java and MySQL?使用 Java 和 MySQL 显示表?
【发布时间】:2013-10-21 17:33:44
【问题描述】:

我有一些 jsp 文件。它有一些变量。我想在 mysql 查询中使用这些变量,如下所示。

String given_session="monsoon";
String given_year="2012";
// note above two will be dynamically added.

ResultSet rs11 = (ResultSet) st11.executeQuery("show tables like '%_Assessment_" + given_session + "_" + given_year+"'");

我遇到了以下异常:

 java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%_Assessment_Monsoon_2013''

【问题讨论】:

标签: java mysql jdbc


【解决方案1】:

有更好更优雅的方式。

String tableNamePattern  = "%_Assessment_" + session + "_" + year;

DatabaseMetaData databaseMetaData = conn.getMetaData();
ResultSet rs = databaseMetaData.getTables(null, null, tableNamePattern, 
                                          null);
while(rs.next()) {
    String tableName = rs.getString("TABLE_NAME");
    ...
}

此外,您必须了解 Java 编程的最佳实践,因为您在代码中使用的东西并不聪明。你可以在Java Collected Practices看到很多。

【讨论】:

    猜你喜欢
    • 2013-09-08
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2017-11-26
    • 2020-03-18
    • 1970-01-01
    相关资源
    最近更新 更多