12.30sqlite判断表、字段是否存在

来源:互联网 发布:微信oauth2.0 java 编辑:程序博客网 时间:2024/06/10 14:54

1.判断表名是否存在:

select * from sqlite_master 


sqlite_master 的表结构如下:

type   |name    |tbl_name    |rootpage   |sql

示范查询结果;

=============
type>>table
name>>android_metadata
tbl_name>>android_metadata
rootpage>>3
sql>>CREATE TABLE android_metadata (locale TEXT)
=============
type>>table
name>>TalkVO
tbl_name>>TalkVO
rootpage>>4
sql>>CREATE TABLE TalkVO (content text,videoPath text,img text,name text,issend BLOB,isPlaying integer,uid integer,_id integer PRIMARY KEY)

2.判断字段是否存在

PRAGMA table_info([TalkVO])

必须 大写,结构如下:

cid |  name | type | notnull | dflt_value |  pk

示范查询结果;

PRAGMA table_info([TalkVO])
=============
cid>>0
name>>content
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>1
1name>>videoPath
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>2
name>>img
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>3
name>>name
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>4
name>>issend
type>>BLOB
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>5
name>>isPlaying
type>>integer
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>6
name>>uid
type>>integer
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>7
name>>_id
type>>integer
notnull>>0
dflt_value>>null
pk>>1



1 0