为什么 IGNORE 语句不起作用?每次我运行这个相同的值都会插入到数据库中,我不知道为什么?
myDB = this.openOrCreateDatabase(MY_DB_NAME, MODE_PRIVATE, null);
myDB.execSQL("INSERT OR IGNORE INTO " + MY_DB_TABLE + "(db_datum, db_zahlen, db_scheine)"
+"VALUES ('"+datum+"',"+
"'"+zahlen+"',"+
"'"+9+"');");
数据库模式是:
db_datum (varchar(100))
db_zahlen (varchar(100))
db_scheine(整数)
我有 2 个字符串“datum”和“zahlen”,想将它们插入数据库。现在的问题是,如果相同的字符串已经在数据库中并且代码再次运行,它们将被忽略并且永远不会再次插入。
最佳答案
您可以使用 insertWithOnConflict。 例如:
mDb.insertWithOnConflict(DATABASE_TABLE, null, initialValues, SQLiteDatabase.CONFLICT_IGNORE);
关于Android SQLite 插入或忽略不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918206/