有一个项目,用的是sqllite的数据库。因为版本迭代,数据库字段也在不断地增加当中。最近发生了一个奇怪的异常,保存数据的时候报参数不匹配的错误。后来查找数据库发现了两个问题:
问题1:某字段没有新增成功
问题2:但是查询的时候,显示该字段是存在的
一."alter table average_data add column filterTemp double after datatype"
这样的写法是错误的,事实上,不能指定新增字段的位置。所以会变成double after datatype成为新增字段的类型。在下一次查询的时候,会发现datatype存在(存在类型中),所以就不能新增成功。
解决方案:
CREATE TABLE new_average_data AS(SELECT id, time FROM average_data);
创建一个新的表,从原来的表中选一些列
DROP TABLE average_data;
丢弃掉原来的平均数据表
ALTER TABLE new_average_data RENAME TO average_data;
将新建的表重命名成原来的表