加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Sqlite中判断表、字段是否存在的方法

发布时间:2020-12-12 19:25:00 所属栏目:百科 来源:网络整理
导读:Sqlite中判断表、字段是否存在的方法 标签:sqliteandroid判定是否存在某字段 2014-12-24 16:25 1158人阅读 评论(0) 收藏 举报 分类: android(26) 版权声明:本文为博主原创文章,未经博主允许不得转载。 sqlite会自动维护一个系统表sqlite_master,该表

Sqlite中判断表、字段是否存在的方法

标签:sqliteandroid判定是否存在某字段 1158人阅读 评论(0) 收藏 举报 分类: sqlite会自动维护一个系统表sqlite_master,该表存储了我们所创建的各个table,view,trigger等等信息。有时数据库升级时,由于等等原因,我们可能需要增加表、字段等等。可以采取以下方法来判断数据库中是否存在某表、字段等等。
select * from sqlite_master where type = 'table' and name = '表名'
如果查不到指定表名的信息,则表示该表不存在

sqlite_master表数据字段: type: 类型,取值一般为table,view name: tbl_name: 表名 rootpage:

sql: 创建表或者视图的sql语句,可以从该sql语句中判断某字段是否存在


[java] view plain copy
  1. /**
  2. *判断某表里某字段是否存在
  3. *
  4. *@paramdb
  5. *@paramtableName
  6. *@paramfieldName
  7. *@return
  8. */
  9. privatebooleanisFieldExist(SQLiteDatabasedb,StringtableName,StringfieldName){
  10. StringqueryStr="selectsqlfromsqlite_masterwheretype='table'andname='%s'";
  11. queryStr=String.format(queryStr,tableName);
  12. Cursorc=db.rawQuery(queryStr,null);
  13. StringtableCreateSql=null;
  14. try{
  15. if(c!=null&&c.moveToFirst()){
  16. tableCreateSql=c.getString(c.getColumnIndex("sql"));
  17. }
  18. }finally{
  19. null)
  20. c.close();
  21. if(tableCreateSql!=null&&tableCreateSql.contains(fieldName))
  22. returntrue;
  23. false;
  24. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读