因为要控制生成的数据库文件大小,故需对已经存入数据库的历史数据进行覆盖,有如下表
SQL code
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语句,删除再插入比较简单