【问题标题】:How to check table exist in sqlite using java如何使用java检查sqlite中是否存在表
【发布时间】:2015-12-09 12:04:56
【问题描述】:

如何使用java检查sqlite中是否存在表。

我用过代码

 String sql = "SELECT count(*) FROM sqlite_master WHERE type = 'table' AND name = 'COMPANY'";
 System.out.println("Sql Sqlite" + sql);
 int i = stmt.executeUpdate(sql);

不知道正确与否,我是sqlite的新手,请帮忙。

【问题讨论】:

  • 你没有更新任何东西,那你为什么要使用executeUpdate()
  • @augustoccesar 这个问题其实是关于如何运行查询的。
  • @CL。这是有道理的......这个问题不是很清楚,但我明白你的意思。删除了标志。
  • @augustoccesar。我只想检查给定的表是否存在。
  • @VikasSingh 我明白了......我相信你的问题已经有了答案。我标记为重复的帖子,有一些如何做到这一点的例子。我相信下面的答案是指向我标记的同一帖子的链接,请查看:)

标签: java sqlite jdbc


【解决方案1】:

我没有在 Sqlite 中找到任何本机方法来检查表是否存在,但是从下面的问题中可以找到一种方法是在表中进行选择。

StackOverflow question

我找到了here 在 java 中的另一种方法,但不确定是否可行。

 String sql = "CREATE TABLE YOUR_TABLE " +
               "(id INTEGER not NULL, " +
               " first VARCHAR(255), " + 
               " last VARCHAR(255), " + 
               " age INTEGER, " + 
               " PRIMARY KEY ( id ))"; 
try{
  stmt.executeUpdate(sql);
}catch(Exception se){
  //the table already exists
  se.printStackTrace();
}

【讨论】:

  • 这个答案适用于 Android,而不是 JDBC。
  • @CL。是的,你是对的,我已经编辑了我的答案,希望对您有所帮助。
  • 本题与建表无关。
  • @CL。问题是关于检查表是否存在,以及检查是否尝试再次创建表的方法,如果存在,您将得到异常,这可能不是最佳解决方案或不是最佳实践,而是一种方法检查表是否存在。
猜你喜欢
  • 2022-01-21
  • 1970-01-01
  • 2015-12-21
  • 2011-10-29
  • 2012-12-21
  • 2014-10-24
  • 1970-01-01
相关资源
最近更新 更多