2015-09-16 2 views
-1
//Table names 
public static final String TABLE_SUBJECTS = "SUBJECTS"; 
public static final String TABLE_TIMETABLE = "TIMETABLE"; 
public static final String TABLE_ATTENDANCE = "ATTENDANCE"; 


//Column names 
public static final String COLUMN_SUBJECTS_SUBJECT = "SUBJECT"; //Subjects 
public static final String COLUMN_TIMETABLE_SUBJECT = "SUBJECT"; //Timetable 
public static final String COLUMN_TIMETABLE_PERIOD = "PERIOD"; 
public static final String COLUMN_TIMETABLE_DAY = "DAY"; 
public static final String COLUMN_ATTENDANCE_SUBJECT = "SUBJECT"; 
//Attendance 
public static final String COLUMN_ATTENDANCE_ATTENDED = "ATTENDED"; 
public static final String COLUMN_ATTENDANCE_TOTAL = "TOTAL"; 
public static final String COLUMN_ATTENDANCE_PERCENTAGE = "PERCENTAGE"; 


//Queries 
private static final String SQL_CREATE_TABLE_TIMETABLE = "create table " + TABLE_TIMETABLE + "(" + 
                 COLUMN_TIMETABLE_SUBJECT + " text, " + 
                 COLUMN_TIMETABLE_PERIOD + " integer, " + 
                 COLUMN_TIMETABLE_DAY + " text, " + 
                 "PRIMARY KEY " + "(" + 
                 COLUMN_TIMETABLE_PERIOD + "," + 
                 COLUMN_TIMETABLE_DAY + "), " + 
                 "FOREIGN KEY " + "(" + COLUMN_TIMETABLE_SUBJECT + ") " + 
                 "REFERENCES " + TABLE_SUBJECTS + " (" + COLUMN_SUBJECTS_SUBJECT + 
                 ")" + ");";  
private static final String SQL_CREATE_TABLE_ATTENDANCE = "create table " + TABLE_ATTENDANCE + "(" + 
                 COLUMN_ATTENDANCE_SUBJECT + " text, " + 
                 COLUMN_ATTENDANCE_ATTENDED + " integer, " + 
                 COLUMN_ATTENDANCE_TOTAL + " integer, " + 
                 COLUMN_ATTENDANCE_PERCENTAGE + " integer, " + 
                 "PRIMARY KEY " + "(" + COLUMN_ATTENDANCE_SUBJECT + "), " + 
                 "FORIEGN KEY " + "(" + COLUMN_ATTENDANCE_SUBJECT + ") " + 
                 "REFERENCES " + TABLE_SUBJECTS + " (" + COLUMN_SUBJECTS_SUBJECT + ")" + 
                 ");"; 

Итак, я пытаюсь запрограммировать приложение для Android с помощью SQLite, конечно. У меня возникла проблема с попыткой создать таблицу «УЧАСТИЕ». В нем говорится «Синтаксическая ошибка около« ИНОСТРАННАЯ ». Теперь я не получаю это, потому что, как вы видите, я успешно создал таблицу «РАСПИСАНИЕ», а в таблице «УЧАСТИЕ» также последовал более или менее тот же синтаксис. Я даже пробовал комментировать внешний ключ. Он отлично работает с ограничением первичного ключа, но когда я соединяю его с ограничением внешнего ключа, ошибка появляется снова. Если я прокомментирую основную часть ключа, только с ограничением внешнего ключа, тогда он говорит «синтаксическая ошибка рядом с« SUBJECT »». Так что, пожалуйста, помогите.SQlite create table error на Android

+1

У вас есть опечатка в вашей строке "SQL_CREATE_TABLE_ATTENDANCE". FOREIGN KEY неправильно написано «FORIEGN KEY». – PMerlet

+1

@ Куби, опубликуйте его как ответ. Это верно. – Rahul

+0

Кажется, у меня возникло множество проблем, и здесь все решено решить, кроме опечатки. Спасибо, тонкий чувак. –

ответ

2

У вас есть опечатка в вашей SQL_CREATE_TABLE_ATTENDANCE String. FOREIGN KEY неверно написан FORIEGN KEY