android.database.sqlite.SQLiteException:没有这样的列:编译时:更新
android.database.sqlite.SQLiteException: no such column: while compiling: UPDATE
我试图在 Android 应用程序中更新 SQLite 中的一行中的某些列,但是我被这个错误困住了,我只是不知道它来自哪里。
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);
}
这是我的table,其中使用了所有列:
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" + ")";
提前感谢您的帮助!
我认为您在第一次安装应用程序后修改了数据库方案。
您必须编写一个从旧版本数据库到新版本的更新脚本。 (ALTER TABLE tablename ADD COLUMN ....
)
或删除并重新安装该应用程序。
我试图在 Android 应用程序中更新 SQLite 中的一行中的某些列,但是我被这个错误困住了,我只是不知道它来自哪里。
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);
}
这是我的table,其中使用了所有列:
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" + ")";
提前感谢您的帮助!
我认为您在第一次安装应用程序后修改了数据库方案。
您必须编写一个从旧版本数据库到新版本的更新脚本。 (ALTER TABLE tablename ADD COLUMN ....
)
或删除并重新安装该应用程序。