Android 添加外键时Sqlite查询中出现语法错误
执行查询时,我的sqlite查询中出现语法错误Android 添加外键时Sqlite查询中出现语法错误,android,sqlite,Android,Sqlite,执行查询时,我的sqlite查询中出现语法错误 db.execSQL("CREATE TABLE "+TABLE_ABC+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT_MATCH_ID INTEGER, FOREIGN KEY (EVENT_MATCH_ID) REFERENCES "+TABLE_DEF+" (MATCH_ID), EVENT_ID TEXT, EVENT_TYPE TEXT, EVENT_MINUTE TEXT," +
db.execSQL("CREATE TABLE "+TABLE_ABC+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT_MATCH_ID INTEGER, FOREIGN KEY (EVENT_MATCH_ID) REFERENCES "+TABLE_DEF+" (MATCH_ID), EVENT_ID TEXT, EVENT_TYPE TEXT, EVENT_MINUTE TEXT," +
"EVENT_TEAM TEXT, EVENT_PLAYER TEXT, EVENT_PLAYER_ID TEXT, EVENT_RESULT TEXT)");
错误为“事件_ID附近的语法错误”。有人能帮我跟踪错误吗?将表约束(如外键定义)放在列规范之后:
db.execSQL("CREATE TABLE "+TABLE_ABC+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT_MATCH_ID INTEGER, EVENT_ID TEXT, EVENT_TYPE TEXT, EVENT_MINUTE TEXT," +
"EVENT_TEAM TEXT, EVENT_PLAYER TEXT, EVENT_PLAYER_ID TEXT, EVENT_RESULT TEXT, " +
"FOREIGN KEY (EVENT_MATCH_ID) REFERENCES "+TABLE_DEF+" (MATCH_ID))");
请试试这个:
db.execSQL("CREATE TABLE "+TABLE_ABC+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT_MATCH_ID INTEGER, EVENT_ID TEXT, EVENT_TYPE TEXT, EVENT_MINUTE TEXT," +
"EVENT_TEAM TEXT, EVENT_PLAYER TEXT, EVENT_PLAYER_ID TEXT, EVENT_RESULT TEXT, FOREIGN KEY (EVENT_MATCH_ID) REFERENCES "+TABLE_DEF+" (MATCH_ID))");
表约束位于列定义之后: 试试这个:
db.execSQL("CREATE TABLE "+TABLE_ABC+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, EVENT_MATCH_ID INTEGER, EVENT_ID TEXT, EVENT_TYPE TEXT, EVENT_MINUTE TEXT," +
"EVENT_TEAM TEXT, EVENT_PLAYER TEXT, EVENT_PLAYER_ID TEXT, EVENT_RESULT TEXT, " +
"FOREIGN KEY (EVENT_MATCH_ID) REFERENCES "+TABLE_DEF+" (MATCH_ID))");