I'm getting error when I try to insert a new row into SQLite. I've searched for any error in my code, but I can't find any error. Any help would be great!
Here is my error:
android.database.sqlite.SQLiteException: table user has no column named friends (code 1): , while compiling: INSERT INTO user(email,name,api_key,friends,register_date) VALUES (?,?,?,?,?)
Here is my database:
private static final String TABLE_USER = "user";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_EMAIL = "email";
private static final String COLUMN_API_KEY = "api_key";
private static final String COLUMN_FRIENDS = "friends";
private static final String COLUMN_REGISTER_DATE = "register_date";
public void onCreate(SQLiteDatabase db) {
String SQL_CREATE_LOGIN = String.format(
"CREATE TABLE %s (%s, %s, %s, %s)",
TABLE_USER,
String.format("%s integer primary key autoincrement", COLUMN_ID),
String.format("%s varchar(30)", COLUMN_NAME),
String.format("%s varchar(40)", COLUMN_EMAIL),
String.format("%s varchar(32)", COLUMN_API_KEY),
String.format("%s integer", COLUMN_FRIENDS),
String.format("%s text", COLUMN_REGISTER_DATE)
);
db.execSQL(SQL_CREATE_LOGIN);
);
And this is my insert code:
public void addUser(String name, String email, String api_key, int friends, String register_date) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_NAME, name); // Name
values.put(COLUMN_EMAIL, email); // Email
values.put(COLUMN_API_KEY, api_key); // Email
values.put(COLUMN_FRIENDS, friends); // Friends
values.put(COLUMN_REGISTER_DATE, register_date); // Created At
// Inserting Row
long id = db.insert(TABLE_USER, null, values);
db.close(); // Closing database connection
Log.d(TAG, "New user inserted into sqlite: " + id);
}