SQLite에서 행의 일부 열을 Android 앱으로 업데이트하려고하는데, 잘 모르는이 오류가 발생했습니다. 어디에서 왔는지. android.database.sqlite.SQLiteException : 해당 열 없음 : 컴파일 중 : UPDATE
android.database.sqlite.SQLiteException: no such column: location (code 1): , while compiling: UPDATE user SET email=?,location=?,mobile=? WHERE id=?
이
내가 업데이트하는 데 사용하는 코드입니다 정보 :이있는 모든 열이 사용되는 내 테이블public void updateUserInfo(String mobile, String email, String location) {
SQLiteDatabase db = this.getWritableDatabase();
String[] tablei = new String[1];
tablei[0] = "1";
ContentValues values = new ContentValues();
values.put(KEY_MOBILE, mobile); // Mobile
values.put(KEY_EMAIL, email); // Email
values.put(KEY_LOCATION, location); // Location
// Inserting Row
//long id = db.update().insert(TABLE_USER, null, values);
long id = db.update(TABLE_USER, values, "id=?", tablei);
db.close(); // Closing database connection
Log.d(TAG, "Info of user updated in sqlite: " + id);
}
:
private static final String KEY_ID = "id";
private static final String KEY_LOCATION = "location";
.....
String CREATE_LOGIN_TABLE = "CREATE TABLE " + TABLE_USER + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_EMAIL + " TEXT UNIQUE," + KEY_APIKEY + " TEXT,"
+ KEY_MOBILE + " TEXT," + KEY_LOCATION + " TEXT,"
+ KEY_CREATED_AT + " TEXT" + ")";
가 사전에 감사하여 도와주세요!
DatabaseHelper 클래스를 사용합니까? 그렇다면 DATABASE_VERSION을 증가시켜야합니다. APP를 재설치해도 문제가 해결 될 수 있습니다. – lidox
생성 테이블 코드를 게시 할 수 있습니까? – adalPaRi
앱을 삭제하고 다시 설치했는데 성공했습니다! 하지만 onUpgrade 메서드를 재정의합니다. 이것으로 충분하지 않습니까? – Othmane