11

I'm trying to alter an SQLite table defined as follows:

    String CREATE_TABLE="CREATE TABLE IF NOT EXISTS " + tab_NAME + " ("
                            + row_ID + " INTEGER PRIMARY KEY , "
                            + row_NAME + " TEXT, "
                            + row_EMAIL + " TEXT, "
                            + row_WEBSITE + " TEXT, "
                            + row_TELEPHONE1 + " TEXT, "
                            + row_TELEPHONE2 + " TEXT, "
                            + row_TELEPHONE3 + " TEXT, "
                            + row_TELEPHONE4 + " TEXT, "
                            + row_TELEPHONE5 + " TEXT);";
        db_name.execSQL(CREATE_TABLE);

        String newTab="CREATE TABLE IF NOT EXISTS temp ("
                + row_ID + " INTEGER PRIMARY KEY AUTOINCREMENT , "
                + row_NAME + " TEXT, "
                + row_EMAIL + " TEXT, "
                + row_WEBSITE + " TEXT, "
                + row_TELEPHONE1 + " TEXT, "
                + row_TELEPHONE2 + " TEXT, "
                + row_TELEPHONE3 + " TEXT, "
                + row_TELEPHONE4 + " TEXT, "
                + row_TELEPHONE5 + " TEXT);";
        db_name.execSQL(newTab);

And here is the auto_increment alter statement:

    String alter="ALTER TABLE temp AUTO_INCREMENT=1;";
    ourDatabase.execSQL(alter);

I got an error saying (1) near AUTO_INCREMENT: syntax error

what's wrong?? any help??

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Ahlam
  • 317
  • 2
  • 3
  • 8

2 Answers2

22

In SQLite a column declared INTEGER PRIMARY KEY will autoincrement by itself. Remove the AUTOINCREMENT keyword and then try.

Check the SQLite FAQ

desertnaut
  • 57,590
  • 26
  • 140
  • 166
Abhishek Sabbarwal
  • 3,758
  • 1
  • 26
  • 41
7

In sqlite setting column as PRIMARY KEY is an AUTOINCREMENT. So there is no need of specifying explicitly column as AUTOINCREMENT. Check the SQLite FAQ.

desertnaut
  • 57,590
  • 26
  • 140
  • 166
arthankamal
  • 6,341
  • 4
  • 36
  • 51