2015-10-16 115 views
1

我想在数据库创建表,但我得到SQLiteExceptionandroid.database.sqlite.SQLiteException:近“(”:语法错误(代码1):

这是创建表我的SQL请求:

String SQL_CREATE_TEMP_CATALOG_CAR_TABLE = "CREATE TABLE temp_dn_catalog_car (\n"+ 
     " catalog_car_id INTEGER PRIMARY KEY AUTOINCREMENT(11) NOT NULL, \n"+ 
     " model_id INTEGER KEY(11) NOT NULL, \n"+ 
     " generation_id INTEGER KEY(11) NOT NULL, \n"+ 
     " body_type_id INTEGER KEY(11) NOT NULL, \n"+ 
     " modification_id INTEGER KEY(11) NOT NULL, \n"+ 
     " begin_year INTEGER(11) NOT NULL, \n"+ 
     " end_year INTEGER(11) NOT NULL);\n"; 

错误代码:

android.database.sqlite.SQLiteException: near "(": syntax error (code 1): , while compiling: CREATE TABLE temp_dn_catalog_car ( catalog_car_id INTEGER PRIMARY KEY AUTOINCREMENT(11) NOT NULL, model_id INTEGER KEY(11) NOT NULL, generation_id INTEGER KEY(11) NOT NULL, body_type_id INTEGER KEY(11) NOT NULL, modification_id INTEGER KEY(11) NOT NULL, begin_year INTEGER(11) NOT NULL, end_year INTEGER(11) NOT NULL); 

回答

3
String SQL_CREATE_TEMP_CATALOG_CAR_TABLE = "CREATE TABLE temp_dn_catalog_car (+ 
    " catalog_car_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, + 
    " model_id INTEGER KEY(11) NOT NULL, + 
    " generation_id INTEGER KEY(11) NOT NULL, + 
    " body_type_id INTEGER KEY(11) NOT NULL, + 
    " modification_id INTEGER KEY(11) NOT NULL, + 
    " begin_year INTEGER(11) NOT NULL, + 
    " end_year INTEGER(11) NOT NULL); "; 
+0

我不知道它的完善与否。只是删除'/ N '和'AUTOINCREMENT(11)' –

+0

礼貌去@ lad2025 –

1

删除\n字符和AUTOINCREMENT(11)AUTOINCREMENT

String SQL_CREATE_TEMP_CATALOG_CAR_TABLE = 
     "CREATE TABLE temp_dn_catalog_car (catalog_car_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,model_id INTEGER NOT NULL, generation_id INTEGER NOT NULL, body_type_id INTEGER NOT NULL, modification_id INTEGER NOT NULL, begin_year INTEGER NOT NULL, end_year INTEGER NOT NULL); "; 

SqlFiddleDemo

+0

这是行不通的( – MyNameIs

+0

@ShevchenkoArtem你不能共享的错误代码,对不对? – lad2025

+0

@ShevchenkoArtem查看更新后的答案 – lad2025

相关问题