将某些数据从sqlite表复制到具有不同两列的同一表中

将某些数据从sqlite表复制到具有不同两列的同一表中,sqlite,copy,Sqlite,Copy,假设表T有A、B、C、D、E、F列 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 结果: A,B,C,D,E,F 1,1,9,8,3,9 2,1,0,3,2,2 3,1,7,1,1,

假设表T有A、B、C、D、E、F列
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 


结果:

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  
我找到了一个解决方案
从T中选择*创建表温度,其中B=x
然后
更新T集合A=null,B=y
然后插入T选择*从温度
然后降低工作台温度


我没有测试,但它应该可以工作,但有没有更简单的方法或者可以在一个查询中编写它?

我找到了解决方案,可能不是最好的,但很好:

INSERT INTO T (A,B,C,D,E,F) SELECT null,y,C,D,E,F from T WHERE B = x

解决方案不属于这个问题;为它创建一个答案。
INSERT INTO T (A,B,C,D,E,F) SELECT null,y,C,D,E,F from T WHERE B = x