尝试使用 SQLite 查询在 android 中创建 table 时出现语法错误

Syntax error when attempting to use SQLite query to create table in android

我正在尝试执行一个字符串查询,但它给我一个语法错误,如下所示:

android.database.sqlite.SQLiteException: near ")": syntax error (code 1): , while compiling: CREATE TABLE Enter (_id INTEGER PRIMARY KEY,_audio_id TEXT, )

我用 https://developer.android.com/training/basics/data-storage/databases.html 检查了很多次,它匹配,但我不确定为什么它不起作用。我的查询如图:

public void CreatePlaylist(String name){
        SQLiteDatabase db=getWritableDatabase();
        String query="CREATE TABLE "+ name +" (" +
                COLUMN_ID + " INTEGER PRIMARY KEY," +
                COLUMN_AUDIO_ID + " TEXT,"+
                " )";
                System.out.println("DB "+db);
        db.execSQL(query);
    }

我的查询有问题吗?

删除最后一个逗号:

public void CreatePlaylist(String name){
        SQLiteDatabase db=getWritableDatabase();
        String query="CREATE TABLE "+ name +" (" +
                COLUMN_ID + " INTEGER PRIMARY KEY," +
                COLUMN_AUDIO_ID + " TEXT"+              -- here
                " )";
                System.out.println("DB "+db);
        db.execSQL(query);
    }

编辑:

Table 名称可以包含空格,但您需要用 " 引用标识符。好的做法是在 table/column 名称 "table name" 中避免使用空格,而改用 tableNametable_name

您需要删除此行末尾的冒号:

COLUMN_AUDIO_ID + " TEXT,"

/*CREATE TABLE name ( 
    COLUMN_ID + INTEGER PRIMARY KEY, 
    COLUMN_AUDIO_ID + TEXT 
);*/

" TEXT," 更改为 " TEXT "TEXT.

后不应该有逗号