我在Android上使用sqlite而且我一直在获得相同的优势,我无法理解为什么
表格是
"CREATE TABLE IF NOT EXISTS " + STUDENTS_TABLE
+ "(" + STUDENT_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
+ STUDENT_NAME + " TEXT NOT NULL, "
+ GROUP + " TEXT NOT NULL, "
+ CONSTRAINT name_unique UNIQUE (STUDENT_NAME, GROUP));";
我所采取的查询是(尝试让所有学生都在特定小组中)
String query = "SELECT * FROM " + STUDENTS_TABLE + " WHERE group + "=" + groupName;
例外是
android.database.sqlite.SQLiteException:near" group&#34 ;:语法错误(代码1):,编译时:SELECT * FROM学生WHERE group = class1
#错误代码:1(SQLITE_ERROR) 引起:SQL(查询)错误或缺少数据库。 (附近" group&#34 ;:语法错误(代码1):,编译时:SELECT * FROM学生WHERE group = class1)
#我在查询中看不到任何错误
答案 0 :(得分:1)
你必须把引号这样sqlite将它检测为一个字符串。试试这个:
String query = "SELECT * FROM `" + STUDENTS_TABLE + "` WHERE `group` + "='" + groupName +"'";