creación de tabla sqlite

No estoy seguro de mi problema. No obtengo dicha tabla cuando consulta la segunda tabla ... ambos están dentro del método onCreate

db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_CBID
                   + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME
                   + " TEXT NOT NULL, " + KEY_RACE + " TEXT NOT NULL,"
                   + KEY_CLASS + " TEXT NOT NULL," + KEY_DEITY
                   + " TEXT NOT NULL," + KEY_GENDER + " TEXT NOT NULL,"
                   + KEY_HEIGHT + " TEXT NOT NULL," + KEY_WEIGHT
                   + " TEXT NOT NULL);");

        db.execSQL("CREATE TABLE " + DATABASE_TABLE2 + " (" + KEY_CSID
                   + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_SKILL
                   + " TEXT NOT NULL, " + KEY_CBID + " INTEGER PRIMARY KEY FOREIGN KEY);"
                   );

Editar: mostrando cvs

String skill = "blah test";
    Cursor c = ourDatabase.rawQuery("SELECT " + KEY_CBID + " FROM " + DATABASE_TABLE + " order by " + KEY_CBID + " DESC limit 1", null);
    if (c != null)
    {
        c.moveToFirst();
        cbid = c.getInt(0);
    }

    ContentValues cv = new ContentValues();
    cv.put(KEY_SKILL, skill);
    cv.put(KEY_CBID, cbid);
    return ourDatabase.insert(DATABASE_TABLE2, null, cv);

Mis declaraciones selectas son:

Cursor c = ourDatabase.rawQuery("SELECT " + KEY_SKILL + ", " + KEY_NAME + ", " + KEY_CBID + " FROM " + DATABASE_TABLE + ", " + DATABASE_TABLE2 + " WHERE " + DATABASE_TABLE +"."+KEY_CBID+" = " +DATABASE_TABLE2+"."+KEY_CBID+" && " +DATABASE_TABLE+"."+KEY_NAME+" = '"+item+"'", null); 
Respuesta 1

No creo que se esté creando su segunda tabla, así es cómo declarar una tabla con una clave externa:

CREATE TABLE artist(
  artistid    INTEGER PRIMARY KEY, 
  artistname  TEXT
);

CREATE TABLE track(
  trackid     INTEGER, 
  trackname   TEXT, 
  trackartist INTEGER,
  FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);

Tomé estos de SQLite.org .

También las claves foráneas están deshabilitadas por defecto en SQLite, para uso de Android:

db.execSQL("PRAGMA FOREIGN_KEYS=ON;");

antes de insertar datos, si aún no lo ha hecho;

Respuesta: 2

Estoy ejecutando un archivo jar simple usando el generador de procesos. El archivo jar simplemente calcula el cuadrado de un número pidiéndole al usuario que ingrese un número. Puedo ingresar un número en la consola pero el programa ...

Extraigo datos de un archivo línea por línea en una base de datos y no puedo encontrar una manera adecuada de marcar las líneas que ya he leído en mi base de datos. Tengo el siguiente código que uso para iterar ...

Tengo una lista agregada a mi applet con foco. En handleEvent, proceso todas las pulsaciones de teclas. Realizo acciones en las teclas. Cuando las teclas son teclas de flecha, la lista también salta por todas partes. Esta ...

Suponiendo que tengo cuatro niveles en mi árbol XML, donde el nivel 3 puede tener el mismo hijo, dos veces, es decir, en el siguiente XML: <Game> <Round> <roundNumber> 1 </ ...