java - SQLite 如果存在现有数据则跳过或覆盖

标签 java android sql sqlite

我的 sqlite 中有一些 x,y 坐标,但是当我添加新数据时,我想检查数据,如果有相同的数据,则覆盖或跳过它。坐标自动来自另一种方法。

public void DBCreate(){
   SQLITEDATABASE = openOrCreateDatabase("LatLongDatabase", Context.MODE_PRIVATE, null);
   SQLITEDATABASE.execSQL("CREATE TABLE IF NOT EXISTS myTable(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, mCurrentLocationLAT VARCHAR,mCurrentLocationLONG VARCHAR);");
}

public void SubmitData2SQLiteDB(){


    SQLiteQuery = "INSERT INTO myTable (mCurrentLocationLAT, mCurrentLocationLONG) VALUES('"+mCurrentLocation.getLatitude()+"','"+mCurrentLocation.getLongitude()+"');";
    SQLITEDATABASE.execSQL(SQLiteQuery);

    Toast.makeText(CampaignActivity.this,"OK", Toast.LENGTH_LONG).show();
}

最佳答案

如果表有主键,则使用 INSERT OR REPLACE,

INSERT OR REPLACE INTO myTable (id, mCurrentLocationLAT, mCurrentLocationLONG) VALUES(1, :lat, :long)

如果表没有主键,则修复它。

关于java - SQLite 如果存在现有数据则跳过或覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55837174/

相关文章:

java - ObjectMapper 读取值

java - 如何正确使用 wait 和 notify 方法?

java - Hibernate 似乎从 HQL 查询创建了错误的 SQL 查询

sql - postgresql - 在一个查询中合并多个更新

php - 获取mysql中部分填充的数据

java - 使用 Gradle 的重复类输出 jar

java - 如果 hasNextInt() 没有任何内容,则扫描器 hasNextInt() 返回 true

java - 无法在命令行中运行eclipse编译的类文件

android - 指标元素之间的空间

java - 按存在于另一个数组列表中的 ListView 排序