Insertar la base de datos de Android en una fila específica

Tengo una base de datos y puedo insertarla y leerla bien, pero este es mi problema:

En primer lugar, tengo dos tablas, table1 y table2. Ambas tablas solo tienen 1 columna y 1 fila. Así que no configuré mi clave para autoincremento. Básicamente, quiero seguir sobrescribiendo ese valor en la fila y la columna en lugar de agregar muchos valores, ¿cómo hago esto?

private static final String DATABASE_CREATE_DATA = "create table table1 (_id integer primary key, " + "table1 text);";
private static final String DATABASE_CREATE_WIFI = "create table table2 (_id integer primary key, " + "table2 text);";

y mi inserto es:

db.insertOrThrow(DATABASE_TABLE1, null, value);

Pero por alguna razón, esto incrementa la clave y agrega muchos valores donde solo quiero seguir sobrescribiendo el primer valor.

preguntado el 27 de agosto de 11 a las 20:08

3 Respuestas

Generalmente con SQL, usa ACTUALIZAR para cambiar datos en filas e INSERTAR para crear nuevos. Nunca trabajé con SQLite, pero me sorprendería si no hubiera una función de actualización al lado de esa inserción.

Editar: mirando los documentos, replaceOrThrow podría ser justo lo que está buscando.

Respondido 28 ago 11, 00:08

Necesitaría hacer un rawQuery usando una cláusula WHERE, o usar db.update, vea este publicar como referencia.

Respondido 28 ago 11, 00:08

Lo que realmente quieres hacer es un actualización .

Respondido 28 ago 11, 00:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.