2012-12-17 2 views
0

다른 여러 사용자의 데이터를 저장하는 sqlite 데이터베이스가 있습니다. 데이터베이스의 특정 행을 삭제하는 방법에 대해 물어보고 싶습니까? 나는 데이터베이스 유형의 물건에 대해 잘 알고 있지 않습니다. 현재 데이터베이스에서 사용자 정보 중 하나를 삭제하는 데 사용되는 삭제 기능이 있습니다. 하지만 전체 행을 삭제하는 방법을 잘 모르겠습니다. (내 데이터베이스에 먼저 & 성 및 SSID를 EMAILID있어.)sqlite 데이터베이스의 행 삭제

public void delete_user(String ssid) { 
    Log.i(TAG,"delete_user ssid["+ssid+"]..."); 

    String[] valuesWhere = new String[1]; 
    valuesWhere[0] = ssid; 

    this.getWritableDatabase().delete("user", "ssid=?", valuesWhere); 
} 

은 내가 삭제하고 싶었 모든 값을 선언해야 하는가? 나는 데이터의 특정 행을 지울 수있는 또 다른 방법이 있는지를 알고 싶었다. 모든 의견을 주시면 감사하겠습니다.

답변

2

삭제하려는 모든 값을 선언해야합니까? 나는 데이터의 특정 행을 지울 수있는 또 다른 방법이 있는지를 알고 싶었다.

현재 코드는 과 일치하는 모든 행을 delete_user(ssid)에 전달합니다. ssid이 고유 한 열 (값이 중복되지 않음)이면 최대 하나의 행을 삭제합니다.

하지만 전체 행을 삭제하는 방법을 잘 모르겠습니다.

SQLiteDatabase#delete()은 행을 부분적으로 삭제하지 않는다는 점을 이해하십시오.

+0

ssid는 기본적으로 모든 행에서 고유 한 값입니다. –

+0

그래서 위의 코드는 기본적으로 전체 열을 삭제한다는 의미입니까? 그런 다음 행을 삭제하려면 어떻게해야합니까? –

+0

아니요, 죄송합니다. 'delete()'는 전체 행을 삭제합니다. 'delete()'로 열을 "삭제"할 수 없습니다. 두 번째와 세 번째 매개 변수 ('ssid =?', valuesWhere')에 전달 된 데이터와 일치하는 _any 행 _의 경우 전체 행 _이 삭제됩니다. – Sam