我有几张表,每当用户登录到应用程序时这些表都会有新数据。我有一列KEY_ROWID
是autoIncrement
。我希望它始终从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/