我有几张表,每当用户登录到应用程序时这些表都会有新数据。我有一列KEY_ROWIDautoIncrement。我希望它始终从1开始。
我尝试在插入新数据之前将表截断。我收到一个错误:


  “ android.database.sqlite.SQLiteException:在” TRUNCATE“附近:语法
  错误(代码1):,而在编译时:TRUNCATE TABLE StaffListTable”


表示感谢。

private static final String CREATE_TABLE_STAFFLIST = "CREATE TABLE " + TABLE_STAFFLIST + " ("
                                                        + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                                                        + KEY_STAFFID + " TEXT NOT NULL, "
                                                        + KEY_STAFFNAME + " TEXT NOT NULL);";

最佳答案

非常简单,因为您要截断表值,所以我知道您不必保护它们或进行备份。在这种情况下,只需删除表即可解决问题。

在onUpdate()方法中,编写

db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE); //and call onCreate again
onCreate(db);


需要帮助请叫我。快乐的编码。 :)

关于android - 如何在每次创建表时获取以1开头的AutoIncrement值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21680708/

10-11 19:59