Я хочу добавить новый элемент (сыр) в таблицу sqlite, но только в том случае, если он не существует. У меня есть два столбца только в таблице: _id (KEY_ROWID_PR) и product_name (KEY_NAME_PR).Запись в sqlite Android, если не существует
Я пытался с этим кодом, но это дает мне ошибку:
public void populate_base_lists2(String tablename, String item) {
ourDatabase.execSQL("INSERT INTO " + tablename + " (" + KEY_NAME_PR + ") SELECT * FROM (SELECT " + item + ") WHERE NOT EXISTS (SELECT " + KEY_NAME_PR + " FROM " + tablename + " WHERE " + KEY_NAME_PR + " = " + item + ") LIMIT 1;");
}
03-11 17:27:20.972: E/AndroidRuntime(658): Caused by: android.database.sqlite.SQLiteException: no such column: Cheese: INSERT INTO PR_Dairy_Products (product_name) SELECT * FROM (SELECT Cheese) WHERE NOT EXISTS (SELECT product_name FROM PR_Dairy_Products WHERE product_name = Cheese) LIMIT 1;
код не является здесь: MySQL: Insert record if not exists in table
нет такой колонки: сыр, хорошо, я изменил эту часть на KEY_NAME_PR, тогда ошибка была такой же, но без такого столбца: product_name. Эта колонка определенно существует.
Более того, мне нужно пояснить этот код. У меня есть знание sql на определенном уровне, но я не могу это получить.
Благодаря
Спасибо, человек, я очень ценю это! Я был так близок :) – erdomester