обновление / вставка SQLite для Android - PullRequest
2 голосов
/ 24 августа 2011

Я хочу ОБНОВИТЬ строку в моей таблице, ГДЕ ключ = LastSelected
Если строки с этим ключом не существует, я хочу ВСТАВИТЬ это.

Я могу заставить UPDATE работать, если строка уже существует, но она не будет INSERT , если она отсутствует.

Я пробовал это (первый корректно обновляет, но не вставляет):

String.format("UPDATE table_1 SET value = '%s' WHERE key = 'LastSelected'", s);

String.format("REPLACE table_1 SET value = '%s' WHERE key = 'LastSelected'", s);

String.format("INSERT OR REPLACE INTO table_1 SET value = '%s' WHERE key = 'LastSelected'", s);

1 Ответ

3 голосов
/ 24 августа 2011

Синтаксис INSERT OR REPLACE INTO <table> (<columns>) VALUES (<values>), как можно увидеть в документации .

В вашем случае это будет примерно так:

INSERT OR REPLACE INTO table_1 (key, value)
VALUES ('LastSelected', '...')
...