为什么我在这个简单的sqlite查询中得到语法错误代码1

时间:2013-03-21 08:56:51

标签: java android sql sqlite

我有一个sqlite查询,如下所示:

String sql_group = "CREATE TABLE group(id VARCHAR(25),name VARCHAR(25),account_id VARCHAR(25));"

当我这样做时:

db.execSQL(sql_group);

它造成致命错误,我在编译时遇到语法错误代码1。

我看不出它是什么。

3 个答案:

答案 0 :(得分:3)

因为GROUP(表格的名称)是保留关键字。你仍然使用它,但你需要使用brackets

来逃避它
String sql_group = "CREATE TABLE [group](id VARCHAR(25), ...";

但我建议您应避免使用此类名称以避免将来出现问题。

答案 1 :(得分:2)

您已使用group作为表名,但这是SQL运算符:)只需使用另一个单词

答案 2 :(得分:0)

你可以这样使用。

String table_creation="CREATE TABLE test_Table +" (" +
        " id INTEGER PRIMARY KEY AUTOINCREMENT, " +
        " name TEXT NOT NULL , " + 
        " address TEXT , " + 
        " city TEXT)";

现在您可以使用此 table_creation 来创建表格。