Android: использование первичного ключа, отличного от _id, в update () и delete () - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть таблица с первичным ключом xyz_key_id. Я хочу обновить строку в таблице. Пример, который я нашел:

db.update(DB_TABLE, values, "_id=" + rowId, null)

Однако я бы хотел использовать xyz_key_id в качестве ключа вместо _id.

Могу ли я использовать что-то вроде:

String update_string = "SELECT " + xyz_key_id + " AS _id WHERE " + xyz_key_id + " = ?";

db.update(DB_TABLE, values, update_string, new String[] {key_number});

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

Ваш первичный ключ может быть любым. BaseColumns._ID или "_id" - это соблюдаемое соглашение, которое имеет много преимуществ, особенно когда таблицы вашей базы данных обертываются ContentProviders (http://developer.android.com/guide/topics/providers/content-providers.html)

1 голос
/ 15 декабря 2011

Нет, в Android это должен быть _id

см. http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

...