title: Android SqLite no such column _id exception
body: <p>Don't immediately flag me for a duplicate question. My issue is different because I have a correctly formatted SQL query.</p>
  
  <pre><code>public static final String TABLE_NAME = "log";
  public static final String COLUMN_ID = "_id";
  public static final String LOG_TEXT = "logtext";
  private static final String TABLE_CREATE = "CREATE TABLE " + TABLE_NAME + " (" +
          COLUMN_ID + " integer primary key autoincrement, " +
          LOG_TEXT + " TEXT not null);";
  
  @Override
  public void onCreate(SQLiteDatabase db) {
      db.execSQL(TABLE_CREATE);
  
  }
  </code></pre>
  
  <p>and I query here</p>
  
  <pre><code>String[] columns = {LOG_TEXT,COLUMN_ID};
      Cursor cursor = helper.getReadableDatabase().query(TABLE_NAME, columns, null, null, null, null, COLUMN_ID + " desc");
  </code></pre>
  
  <p>and I catch this the exception generated containing the sql query.</p>
  
  <pre><code>catch(Exception e){
  Log.D("sql Exception",e.getMessage());}
  </code></pre>
  
  <p>and it returns</p>
  
  <pre><code>no such column: _id: , while compiling: SELECT logtext, _id FROM log ORDER BY _id desc
  </code></pre>
  
  <p>I'm familar with Oracle SQL and relational databases in general. Is it my ORDER BY clause? I was certain you can ALWAYS use order by. It doesn't have the same behavior as GROUP BY.</p>
  
  <p>Any ideas on why the exception?
  Incase anyone wants to see i'm updating with my ArrayAdaptor statements. I'm using the cursor in a listview</p>
  
  <pre><code>String[] data = query();
  
  
      adapter = new ArrayAdapter&lt;String&gt;(this,
              android.R.layout.simple_list_item_1, android.R.id.text1, data);
      listView.setAdapter(adapter);}
  </code></pre>