출처 : http://blog.naver.com/oh4zzang


안드로이드 테이블 존재여부 확인하기 - Sqlite mater table query

 

 

안드로이드 sqlite에서 다음과 같이, master table 에 접근해 해당 table 존재 여부를 알 수 있다. 

다음은 SQLiteDatabase를 이용한 간단한 로그 찍어 테이블 이름을 확인하는 쿼리다~~


      Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
      if(c.moveToFirst()) {
       for(;;) {
        Log.e(TAG, "table name : " + c.getString(0));        
        if(!c.moveToNext())
         break;
       }
      }

 

 

    특정 테이블에 대해서 존재하는지 알기 위해서는 SELECT 문을 아래와 같이 하면 된다~


 

"SELECT name FROM sqlite_master WHERE type='table' AND name ='테이블명'

 

 

    테이블 생성 시 존재여부를 따로 쿼리해보고 테이블 생성하는 것이 귀찮게 느껴진다면,

    아래처럼 테이블 생성시 CREATE문에 "CREATE TABLE IF NOT EXISTS" 이렇게 해주면~

    테이블이 이미 존재한다면 테이블을 생성하지 않는다. >0<


String sql = "CREATE TABLE IF NOT EXISTS " + "테이블 명"+ " (_id integer primary key autoincrement, " + "column 명..)";
db.execSQL(sql);

 

logcat으로 찍어본 결과는 아래와 같다~~

밑에 2개의 테이블은 현재 프로젝트와 연관있는 이름들이라~ 모자이크 처리 ^^

존재하는 테이블 이름들을 잘 받아오는것을 볼수 있다ㅋ

 

 

 

+ Recent posts