Обновите таблицу в SQLite (Android) с помощью IF для столбца - PullRequest
0 голосов
/ 07 августа 2011

.Здравствуйте, столбцы моей таблицы: [ID, VALUE, MODIFIED]

Как я могу сделать следующее обновление в SQL (вероятно, это легко, но я не достигаю этого).у меня есть int = new_value

UPDATE FROM table SET value = new_value,modified= if (new_value==VALUE) then 0 else 1;

Ответы [ 3 ]

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

Почему бы не оценить, если он изменен вне sql:

int isModified = newvalue != VALUE ? 1 : 0;

И в SQL:

UPDATE FROM table SET value = new_value, modified = isModified
1 голос
/ 07 августа 2011

В обычном SQL вы можете сделать это так:

UPDATE tablename 
    SET value = new_value, 
    modified = 
        CASE
            WHEN new_value = value THEN 0
            ELSE 1
        END

Но я не уверен, поддерживает ли SQLite CASE

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

Запрос исходных данных и использование оператора if-else.

if(originalValue == newValue) {
    // Update query
}
else {
    // Update query
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...