Я делал одну таблицу, которая имеет два внешних ключа для других таблиц. Но все же ошибка в запросе.два внешних ключа в одной таблице sqlite android
здесь код:
//inialitation attribute
public static final String TABLE_MATRIKPENDAPAT = "tableMatrikPendapat";
public static final String MATRIK_IDKRITERIA1 = "matrikIdKriteria1";
public static final String MATRIK_IDKRITERIA2 = "matrikIdKriteria2";
public static final String MATRIK_NILAI = "nilaiMatrik";
//create query
private static final String CREATE_TABLE_MATRIKPENDAPAT = "create table "
+ TABLE_MATRIKPENDAPAT + " ("
+ MATRIK_IDKRITERIA1 + " integer , FOREIGN KEY ("+ MATRIK_IDKRITERIA1 +") REFERENCES "
+ TABLE_KRITERIA + " ("+ KRITERIA_ID +"), "
+ MATRIK_IDKRITERIA2 + " integer , FOREIGN KEY ("+ MATRIK_IDKRITERIA2 +") REFERENCES "
+ TABLE_KRITERIA + " ("+ KRITERIA_ID +"), "
+ MATRIK_NILAI + " integer not null);";
И ошибка сказал:
sqlite.SQLiteException: near "matrikIdKriteria2": syntax error
, когда я сделать это с одним внешним ключом, как здесь:
private static final String CREATE_TABLE_MATRIKPENDAPAT = "create table "
+ TABLE_MATRIKPENDAPAT + " ("
+ MATRIK_IDKRITERIA1 + " integer , FOREIGN KEY ("+ MATRIK_IDKRITERIA1 +") REFERENCES "
+ TABLE_KRITERIA + " ("+ KRITERIA_ID +"), "
+ MATRIK_NILAI + " integer not null);";
ошибка сказал :
sqlite.SQLiteException: возле «nilaiMatrik»: ошибка синтаксиса
, так что я думаю, мои проблемы там в запросе после первого внешнего ключа.
Какой должен быть правильный запрос? Пожалуйста, помогите мне, ребята
Вы не указали все константы. Распечатайте SQL в журнале, и вы, вероятно, сами увидите проблему. Но если вы этого не сделаете, напишите _ SQL-код_, который производит Java, а не Java. – Gene