将一些数据从 sqlite 表复制到具有不同两列的同一个表中
Posted
技术标签:
【中文标题】将一些数据从 sqlite 表复制到具有不同两列的同一个表中【英文标题】:Copy some data from sqlite table to the same table with different two columns 【发布时间】:2013-09-26 06:29:01 【问题描述】:假设我有包含 A、B、C、D、E、F 列的表 T A 是自增主键 我有一些数据 我想复制 B=x 的所有数据 我想将数据复制到同一个表,但同时将集合 A 复制为 null(因此它可以创建新的 ID)并将 B 更改为 y。 示例:
A,B,C,D,E,F
1,1,9,8,3,9
2,1,0,3,2,2
3,1,7,1,1,8
4,2,5,4,7,5
5,2,6,5,8,4
6,3,9,4,5,3
x = 2, y = 4
结果:
A,B,C,D,E,F
1,1,9,8,3,9
2,1,0,3,2,2
3,1,7,1,1,8
4,2,5,4,7,5
5,2,6,5,8,4
6,3,9,4,5,3
7,4,5,4,7,5
8,4,6,5,8,4
我找到了一个解决方案 创建表 Temp as select * from T where B = x 那么 更新 T 集 A = null, B = y 然后插入 T select * from Temp 然后删除表温度
我没有测试,但它应该可以工作,但是有没有更简单的方法或者可以将它写在一个查询中?
【问题讨论】:
解决方案不属于问题;为它创建一个答案。 【参考方案1】:我找到了解决方案,也许不是最好的,但很好:
INSERT INTO T (A,B,C,D,E,F) SELECT null,y,C,D,E,F from T WHERE B = x
【讨论】:
以上是关于将一些数据从 sqlite 表复制到具有不同两列的同一个表中的主要内容,如果未能解决你的问题,请参考以下文章
将具有 LONG RAW 列的表中的数据从一个数据库复制到另一个数据库