Android studio,sqlite,“没有列名为” [英] Android studio, sqlite, "has no column named"
本文介绍了Android studio,sqlite,“没有列名为”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好我从LOGCAT那里得到了这个问题
android.database.sqlite.SQLiteException:table salary_table没有列名为ID的列(代码1 SQLITE_ERROR):,同时编译:INSERT INTO salary_table(ID,SALARY,NAME)VALUES(?,?,?)
And我的代码直接出了我知道的代码,所以我的问题是什么问题?
感谢任何帮助
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE TABLE+ TABLE_NAME
+(ID INTEGER PRIMARY KEY) AUTOINCREMENT,
+ COLUMN_NAME +TEXT,
+ COLUMN_SALARY +TEXT));
}
我的尝试:
尝试了几种不同的Create表选项。
解决方案
必须在模拟器上卸载并重新安装。
为什么在一些SQLlite网站提出反对意见时使用自动增量? SQLite AUTOINCREMENT:为什么要避免使用它?[ ^ ]
SQLlite中主键的默认值是a比表中该列的最高值高一个。除非在插入时包含列的值。
Hello so i've been getting this problem from the LOGCAT
"android.database.sqlite.SQLiteException: table salary_table has no column named ID (code 1 SQLITE_ERROR): , while compiling: INSERT INTO salary_table(ID,SALARY,NAME) VALUES (?,?,?)"
And my code is straight out a code that I know works, so my question what is the issue?
Appreciate any help
@Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE " + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_NAME + " TEXT," + COLUMN_SALARY + " TEXT)"); }
What I have tried:
Tried several different Create table options.
解决方案
Had to uninstall and reinstall on the Emulator.
Why use autoincrement when the some SQLlite websites advises against it? SQLite AUTOINCREMENT : Why You Should Avoid Using It[^]
The default value in SQLlite for a primary key is a one higher than the highest value for that column in the table. Unless you include a value for the column when inserting.
这篇关于Android studio,sqlite,“没有列名为”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文