当前位置: 代码迷 >> 其他数据库 >> sqlite数据库中update还是INSERT OR REPLACE?解决方法
  详细解决方案

sqlite数据库中update还是INSERT OR REPLACE?解决方法

热度:5074   发布时间:2013-02-26 00:00:00.0
sqlite数据库中update还是INSERT OR REPLACE?
因为要控制生成的数据库文件大小,故需对已经存入数据库的历史数据进行覆盖,有如下表


sqlite> select * from x;
time|id|value
2012-04-26 13:00:01|0|0.0
2012-04-26 13:00:01|1|0.0
2012-04-27 14:30:30|0|0.0
2012-04-27 14:30:30|1|0.0
2012-04-28 14:01:20|0|0.0
2012-04-28 14:01:20|1|0.0


现在想更新表中最小时间的记录,即

2012-04-26 13:00:01|0|0.0
2012-04-26 13:00:01|1|0.0

time字段为新的数据产生时间,value为这一时刻的值

形成下面的新表
2012-06-12 12:55:00|0|1.0
2012-06-12 12:55:00|1|0.0
2012-06-12 12:55:00|2|0.0

最后一条是表中无id为2 的记录的话就追加上

请问用sql语句该怎么写?先update,其中失败的再insert,还是INSERT OR REPLACE?

另update OR REPLACE是什么意思?

谢谢前辈们了
------解决方案--------------------------------------------------------
还不如直接先删除,然后再 insert
------解决方案--------------------------------------------------------
SQLITE没有MYSQL的REPLACE语句,删除再插入比较简单
  相关解决方案