Вставка базы Android в определенную строку - PullRequest
1 голос
/ 28 августа 2011

У меня есть база данных, и я могу вставить в нее и читать из нее нормально, но это моя проблема:

Прежде всего, у меня есть две таблицы, table1 и table2. Обе таблицы имеют только 1 столбец и 1 строку. Поэтому я не установил свой ключ на автоинкремент. По сути, я хочу продолжать перезаписывать это значение в строке и столбце, а не добавлять много значений. Как мне это сделать?

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);";

и моя вставка:

db.insertOrThrow(DATABASE_TABLE1, null, value);

Но по какой-то причине это увеличивает ключ и добавляет много значений, где я просто хочу продолжать перезаписывать первое значение.

Ответы [ 3 ]

1 голос
/ 28 августа 2011

Как правило, в SQL вы используете UPDATE для изменения данных в строках и INSERT для создания новых. Я никогда не работал с SQLite, но был бы удивлен, если бы рядом с этой вставкой не было функции обновления.

Редактировать: Глядя на документы, возможно, replaceOrThrow - именно то, что вы ищете.

0 голосов
/ 28 августа 2011

То, что вы действительно хотите сделать, это обновление .

0 голосов
/ 28 августа 2011

Вам потребуется либо выполнить rawQuery с использованием предложения WHERE, либо использовать db.update, см. этот пост для справки.

...