我想添加一个新的项目(奶酪)到一个SQLite表,但只有在它不存在的情况下。我只有两列:_id(KEY_ROWID_PR)和product_name(KEY_NAME_PR)。Android sqlite插入记录,如果不存在
我一直在试图与这些代码,但它给我一个错误:
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 2012-03-11 17:35:44