//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
У вас есть опечатка в вашей строке "SQL_CREATE_TABLE_ATTENDANCE". FOREIGN KEY неправильно написано «FORIEGN KEY». – PMerlet
@ Куби, опубликуйте его как ответ. Это верно. – Rahul
Кажется, у меня возникло множество проблем, и здесь все решено решить, кроме опечатки. Спасибо, тонкий чувак. –