Android studio,sqlite,“没有列名为” [英] Android studio, sqlite, "has no column named"

查看:255
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆