在实际开发中,如果我们想让应用程序一启动,去网络上获取数据,然后把这些刷新到的数据保存到本地的话,然后我们过了很短的时间把这个程序给退了,如果我们又点开,程序又去获取数据去刷新数据,这个时候假设又来了20条数据,那这个20条数据当中包含了我们上一次刷新到的保存到本地的数据,而我们如果直接调用SQLite的Insert语句来插入数据的话,这样的话数据库存储就会出现问题。所以这个时候有一条SQL语句可以去解决这个问题,如下所示
INSERT OR REPLACE INTO T_status (statusid,status,userid) VALUES (1,'hh',1001);
当然执行这条语句会有一定的限制条件
1、就是SQL语句中必须要包含主键,就是说我们插入的时候一定要写上主键
2、就是主键不能是自动增长的,因为主键的数值需要我们去指定
如果我们指定的主键不存在的话,就是去新增记录
如果我们指定的主键存在的话,就是去修改记录