错误表中的多个外键

时间:2018-06-14 22:26:11

标签: android database sqlite

有人能告诉我错误在哪里吗?

我有另外一个表(Tabla_UsuarioTabla_TipoTabla_Nacionalidad),而且这个表有三个外键。

public static final String Crear_Tabla_Receta = "create table "
        + Tabla_Receta + " ("
        + Columna_ID_Receta + " integer primary key autoincrement, "
        + Columna_Nombre_Receta + " TEXT, "
        + Columna_Imagen + " BLOB, "
        + Columna_Pasos + " TEXT,"
        + Columna_ID_Receta_Usuario + " INTEGER,"
        + Columna_ID_Receta_Tipo + " INTEGER,"
        + Columna_ID_Receta_Nacionalidad + " INTEGER,"
        + " FOREIGN KEY ("+Columna_ID_Receta_Usuario+") REFERENCES "+Tabla_Usuario+"("+Columna_ID_Usuario+")"
        + " ,FOREIGN KEY ("+Columna_ID_Receta_Tipo+") REFERENCES "+Tabla_Tipo+"("+Columna_ID_Nacionalidad+")"
        + " ,FOREIGN KEY ("+Columna_ID_Receta_Nacionalidad+") REFERENCES "+Tabla_Nacionalidad+"("+Columna_ID_Tipo+"));";

1 个答案:

答案 0 :(得分:0)

由于信息有限,无法分辨: -

+ " FOREIGN KEY ("+Columna_ID_Receta_Usuario+") REFERENCES "+Tabla_Usuario+"("+Columna_ID_Usuario+")"
+ " ,FOREIGN KEY ("+Columna_ID_Receta_Tipo+") REFERENCES "+Tabla_Tipo+"("+Columna_ID_Nacionalidad+")"
+ " ,FOREIGN KEY ("+Columna_ID_Receta_Nacionalidad+") REFERENCES "+Tabla_Nacionalidad+"("+Columna_ID_Tipo+")

或许应该是: -

+ " FOREIGN KEY ("+Columna_ID_Receta_Usuario+") REFERENCES "+Tabla_Usuario+"("+Columna_ID_Usuario+")"
+ " ,FOREIGN KEY ("+Columna_ID_Receta_Tipo+") REFERENCES "+Tabla_Tipo+"("+Columna_ID_Tipo+")"
+ " ,FOREIGN KEY ("+Columna_ID_Receta_Nacionalidad+") REFERENCES "+Tabla_Nacionalidad+"("+Columna_ID_Nacionalidad+")

即。

  • 第二个外键似乎是针对 Tipo 表,但似乎引用了Columna_ID_Receta_Nacionalidad列,该列似乎属于 Nacionalidad表

  • 同样,第3个外键似乎引用了 Nacionalidad 表,但引用了似乎来自 Tipo 表的Columna_ID_Tipo列。