title: SQLite error code = 1
body: <p>I'm trying to insert some data into my SQLite database. But I keeo receiving an error code 1 saying that my column does not exist. Can someone help me please, Below is my code:</p>
  
  <pre><code>08-17 13:12:46.473: I/Database(13328): sqlite returned: error code = 1, msg = table login has no column named uid
  08-17 13:12:46.503: E/Database(13328): Error inserting uid=502e7b90657ab1.86949026 created_at=2012-08-17 12:12:48 email=epaas name=hwheuu
  08-17 13:12:46.503: E/Database(13328): android.database.sqlite.SQLiteException: table login has no column named uid: , while compiling: INSERT INTO login(uid, created_at, email, name) VALUES(?, ?, ?, ?);
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteCompiledSql.&lt;init&gt;(SQLiteCompiledSql.java:65)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteProgram.&lt;init&gt;(SQLiteProgram.java:83)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteStatement.&lt;init&gt;(SQLiteStatement.java:41)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1231)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1658)
  08-17 13:12:46.503: E/Database(13328):  at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1515)
  08-17 13:12:46.503: E/Database(13328):  at library.DatabaseHandler.addUser(DatabaseHandler.java:69)
  08-17 13:12:46.503: E/Database(13328):  at com.thryfting.www.RegisterActivity$register.doInBackground(RegisterActivity.java:135)
  08-17 13:12:46.503: E/Database(13328):  at com.thryfting.www.RegisterActivity$register.doInBackground(RegisterActivity.java:1)
  08-17 13:12:46.503: E/Database(13328):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
  08-17 13:12:46.503: E/Database(13328):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
  08-17 13:12:46.503: E/Database(13328):  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
  08-17 13:12:46.503: E/Database(13328):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
  08-17 13:12:46.503: E/Database(13328):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
  08-17 13:12:46.503: E/Database(13328):  at java.lang.Thread.run(Thread.java:1027)
  </code></pre>
  
  <p>Below is my database code:</p>
  
  <pre><code>package library;
  
  import java.util.HashMap;
  
  import android.content.ContentValues;
  import android.content.Context;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.database.sqlite.SQLiteOpenHelper;
  
  public class DatabaseHandler extends SQLiteOpenHelper {
  
      // All Static variables
      // Database Version
      private static final int DATABASE_VERSION = 1;
  
      // Database Name
      private static final String DATABASE_NAME = "thryfting_api";
  
      // Login table name
      private static final String TABLE_LOGIN = "login";
  
      // Login Table Columns names
      private static final String KEY_ID = "id";
      private static final String KEY_NAME = "name";
      private static final String KEY_EMAIL = "email";
      private static final String KEY_UID = "uid";
      private static final String KEY_CREATED_AT = "created_at";
  
      public DatabaseHandler(Context context) {
          super(context, DATABASE_NAME, null, DATABASE_VERSION);
      }
  
      // Creating Tables
      @Override
      public void onCreate(SQLiteDatabase db) {
          String CREATE_LOGIN_TABLE = "CREATE TABLE " + TABLE_LOGIN + "("
                  + KEY_ID + " INTEGER PRIMARY KEY,"
                  + KEY_NAME + " TEXT,"
                  + KEY_EMAIL + " TEXT UNIQUE,"
                  + KEY_UID + " INTEGER,"
                  + KEY_CREATED_AT + " TEXT" + ")";
          db.execSQL(CREATE_LOGIN_TABLE);
      }
  
      // Upgrading database
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
          // Drop older table if existed
          db.execSQL("DROP TABLE IF EXISTS " + TABLE_LOGIN);
  
          // Create tables again
          onCreate(db);
      }
  
      /**
       * Storing user details in database
       * */
      public void addUser(String name, String email, String uid, String created_at) {
          SQLiteDatabase db = this.getWritableDatabase();
  
          ContentValues values = new ContentValues();
          values.put(KEY_NAME, name); // Name
          values.put(KEY_EMAIL, email); // Email
          values.put(KEY_UID, uid); // Email
          values.put(KEY_CREATED_AT, created_at); // Created At
  
          // Inserting Row
          db.insert(TABLE_LOGIN, null, values);
          db.close(); // Closing database connection
      }
  
      /**
       * Getting user data from database
       * */
      public HashMap&lt;String, String&gt; getUserDetails(){
          HashMap&lt;String,String&gt; user = new HashMap&lt;String,String&gt;();
          String selectQuery = "SELECT  * FROM " + TABLE_LOGIN;
  
          SQLiteDatabase db = this.getReadableDatabase();
          Cursor cursor = db.rawQuery(selectQuery, null);
          // Move to first row
          cursor.moveToFirst();
          if(cursor.getCount() &gt; 0){
              user.put("name", cursor.getString(1));
              user.put("email", cursor.getString(2));
              user.put("uid", cursor.getString(3));
              user.put("created_at", cursor.getString(4));
          }
          cursor.close();
          db.close();
          // return user
          return user;
      }
  
      /**
       * Getting user login status
       * return true if rows are there in table
       * */
      public int getRowCount() {
          String countQuery = "SELECT  * FROM " + TABLE_LOGIN;
          SQLiteDatabase db = this.getReadableDatabase();
          Cursor cursor = db.rawQuery(countQuery, null);
          int rowCount = cursor.getCount();
          db.close();
          cursor.close();
  
          // return row count
          return rowCount;
      }
  
      /**
       * Re crate database
       * Delete all tables and create them again
       * */
      public void resetTables(){
          SQLiteDatabase db = this.getWritableDatabase();
          // Delete All Rows
          db.delete(TABLE_LOGIN, null, null);
          db.close();
      }
  
  }
  </code></pre>