当前位置: 首页 > 知识库问答 >
问题:

检查表中是否已存在列

柳涵映
2023-03-14

我需要验证表中是否已经存在列。我的类扩展了CustomTaskChange,因此我的方法接收一个数据库对象作为参数。我可以通过ResultSetObject进行我想要的验证吗?

@Override
    public void execute(Database database) throws CustomChangeException {
    
            JdbcConnection connection = (JdbcConnection) database.getConnection();
            DatabaseMetaData metadata;
            metadata = connection.getMetaData();
            String[] types = {"TABLE"};
            ResultSet rs = metadata.getTables(null, null, "%", types);
            Statement s = connection.createStatement();

                while (rs.next()) {
                    String tableName = rs.getString(3);
                    if (tableName.endsWith(this.suffix)) {
                        String sql = sqlStatement.replaceAll("name", tableName);
                        s.execute(sql);
                    }
                }
    }

共有1个答案

皮弘博
2023-03-14

您可以从每个表中提取列,然后检查列是否存在。

 {
  Statement st = con.createStatement();
  ResultSet rs = st.executeQuery("SELECT * FROM TABLENAME LIMIT 1");
  ResultSetMetaData md = rs.getMetaData();
  int col = md.getColumnCount();
  for (int i = 1; i <= col; i++){
  String col_name = md.getColumnName(i);
   if(col_name.equals("YourColumnName"){
     /*Then the column already exist*/
 }}
 类似资料:
  • 问题内容: 我想知道是否有一种方法可以检查Redis列表中是否已存在密钥? 我不能使用集合,因为我不想强制唯一性,但是我确实希望能够检查字符串是否确实存在。 问题答案: 您的选择如下: 如果发现并使用并替换它。 与您的个人保持独立 循环浏览直到找到项目或到达末尾。 Redis列表是作为http://en.wikipedia.org/wiki/Linked_list实现的,因此存在局限性。 我认为您

  • 问题内容: 我有一个Python字典列表,如下所示: 我想检查列表中是否已存在具有特定键/值的字典,如下所示: 问题答案: 这是一种实现方法: 括号中的部分是一个生成器表达式,该表达式将为每个具有要查找的键值对的字典返回,否则为。 如果密钥也可能丢失,则上面的代码可以给您一个。您可以通过使用并提供默认值来解决此问题。如果不提供 默认 值,则返回。

  • 问题内容: 我有一个嵌入了数据库的桌面应用程序。当我执行程序时,我需要检查特定的表是否存在,如果不存在则创建它。 给我的数据库一个名为conn的Connection对象,我该如何检查呢? 问题答案: 您可以使用可用的元数据: 有关更多详细信息,请参见此处。还要注意JavaDoc中的注意事项。

  • 如果表已经存在,如何检查TarantoolSQL?

  • 问题内容: 我希望这是关于如何使用SQL语句检查SQL Server 2000/2005中是否存在表的最终讨论。 当您用Google搜索答案时,会得到很多不同的答案。有官方/后向和向前兼容的方式吗? 这是两种可能的方法。两种方法中的哪一种是标准/最佳方法? 第一种方式: 第二种方式: MySQL提供的简单 陈述。我正在寻找类似的东西。 问题答案: 对于此类查询,最好始终使用INFORMATION_

  • 问题内容: 我正在使用C#根据bigquery api表端点的响应动态构建查询。我正在尝试计算有效的活动用户,但前提是我必须选择具有的每个表。我的问题确实很简单,有没有一种方法可以检查BigQuery SQL中是否存在表? 问题答案: 有元表叫和 您可以运行如下查询: 该查询的一部分可能看起来并不熟悉。是一个元表,其中包含有关数据集中表的信息。您可以自己使用此元表。例如,查询将返回有关数据集中表的