Java Android SQLite中的原始查询-插入或忽略
在我创建的应用程序上,我在将信息输入Sqlite数据库时遇到问题。我以前使用光标的帮助。我已经习惯了MySQL,虽然显然不太习惯 我正在尝试从文件添加到数据库。我以前有过这样的工作,但它将与光标一起添加。然后我被告知,为了让我能够将新信息添加到文件中,并且让应用程序只将新信息添加到数据库中,我应该使用INSERT或IGNORE 这是正确的语法吗?我目前没有因为任何原因插入任何信息Java Android SQLite中的原始查询-插入或忽略,java,android,sqlite,insert,Java,Android,Sqlite,Insert,在我创建的应用程序上,我在将信息输入Sqlite数据库时遇到问题。我以前使用光标的帮助。我已经习惯了MySQL,虽然显然不太习惯 我正在尝试从文件添加到数据库。我以前有过这样的工作,但它将与光标一起添加。然后我被告知,为了让我能够将新信息添加到文件中,并且让应用程序只将新信息添加到数据库中,我应该使用INSERT或IGNORE 这是正确的语法吗?我目前没有因为任何原因插入任何信息 ourDatabase.rawQuery("INSERT OR IGNORE INTO " + DATABASE_T
ourDatabase.rawQuery("INSERT OR IGNORE INTO " + DATABASE_TABLE + " ("+KEY_CLASS+",
" + KEY_QUESTION+ ") VALUES ('" + qclass + "', '" + question + "');", null);
这是我的数据库:
"CREATE TABLE " + DATABASE_TABLE + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_CLASS + " TEXT NOT NULL, " +
KEY_QUESTION + " TEXT NOT NULL UNIQUE);
提前谢谢你的帮助 您的查询似乎是正确的,但还是请尝试下面的查询
ContentValues insertValues = new ContentValues();
insertValues.put(KEY_CLASS, qclass);
insertValues.put(KEY_QUESTION, question);
yourDbName.insertWithOnConflict(DATABASE_TABLE, null, insertValues, SQLiteDatabase.CONFLICT_IGNORE);
KEY_QUESTION + " TEXT NOT NULL UNIQUE);";
删除查询中的分号“);”谢谢您的回复。不幸的是,这并没有奏效。我发布了我的数据库只是为了确保我做的事情是正确的。。谢谢看:这就是我根据Markus提出的问题,但它仍然不起作用。谢谢你的链接,非常感谢!那太好了!我不知道有什么方法可以用ContentValues做冲突忽略的事情。谢谢你!(我会投票,但我没有足够的代表…)你应该尽量不要使用rawQuery,除非你必须这样做,其他的查询方法似乎更容易键入,但它可以帮你省去很多麻烦。始终使用selectionArgs。从理论上讲,您将如何处理原始查询?“插入或忽略到“+DATABASE_TABLE+”(“+KEY_CLASS+”,“+KEY_QUESTION+”)值(?,)”,新字符串[]{QCClass,QUESTION};