gpt4 book ai didi

java - SQLite如何覆盖相同的数据

转载 作者:太空宇宙 更新时间:2023-11-04 09:42:34 27 4
gpt4 key购买 nike

我正在开发一个android项目,basicli我的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新行,您需要使用UPDATE查询来更新带有PRIMARY_KEY的行。

由于您的表有一个 PRIMARY_KEY 作为 id,您可以检查行是否存在,如下所示。

SELECT EXISTS(SELECT 1 FROM myTable WHERE id='ROW_ID');

如果上面的查询返回1,则数据存在,需要使用如下的UPDATE查询,否则使用INSERT查询。

UPDATE myTable SET mCurrentLocationLAT=value1, mCurrentLocationLONG=value2 WHERE id='ROW_ID';

关于java - SQLite如何覆盖相同的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55801620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com