Как предотвратить автоинкрементный первичный ключ sqlite при обновлении? - PullRequest
0 голосов
/ 14 марта 2011

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

Из-за отсутствия поддержки внешних ключей в версиях sqlite, с которыми мне приходится работать, я форсирую отношения, добавляя первичный ключ, возвращенный из вставки в родительскую таблицу, в соответствующие таблицы при вводе новых данных.

Есть ли альтернатива обновлению всех связанных таблиц каждый раз, когда я делаю обновление? Пожалуйста, скажи да ..

Редактировать: последнее редактирование было неверным, я запутался. Я просто вставил код, управляющий вставками / заменами ниже. Я заменяю на, а не обновляю, набираю ошибку с моей стороны.

//inserts
public long insertIntoCompany(String company, int subs) {
    ContentValues cv = new ContentValues();

    cv.put(company_column, company);
    cv.put(company_subscribed_column, subs);

    return db.replace(company_table, null, cv);
}

1 Ответ

1 голос
/ 14 марта 2011

На самом деле вы должны использовать запрос SQL update.См. этот ответ .

Если вы вставите свой запрос, мы сможем предложить дополнительную помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...