尝试使用 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"
中避免使用空格,而改用 tableName
或 table_name
。
您需要删除此行末尾的冒号:
COLUMN_AUDIO_ID + " TEXT,"
/*CREATE TABLE name (
COLUMN_ID + INTEGER PRIMARY KEY,
COLUMN_AUDIO_ID + TEXT
);*/
将 " TEXT,"
更改为 " TEXT "
。 TEXT
.
后不应该有逗号
我正在尝试执行一个字符串查询,但它给我一个语法错误,如下所示:
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"
中避免使用空格,而改用 tableName
或 table_name
。
您需要删除此行末尾的冒号:
COLUMN_AUDIO_ID + " TEXT,"
/*CREATE TABLE name (
COLUMN_ID + INTEGER PRIMARY KEY,
COLUMN_AUDIO_ID + TEXT
);*/
将 " TEXT,"
更改为 " TEXT "
。 TEXT
.