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

前端之家收集整理的这篇文章主要介绍了Sqlite中判断表、字段是否存在的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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. }
原文链接:https://www.f2er.com/sqlite/198580.html

猜你在找的Sqlite相关文章