【问题标题】:Copy some data from sqlite table to the same table with different two columns将一些数据从 sqlite 表复制到具有不同两列的同一个表中
【发布时间】: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
然后删除表温度

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

【问题讨论】:

  • 解决方案不属于问题;为它创建一个答案。

标签: sqlite copy


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多