【发布时间】:2015-11-11 15:08:07
【问题描述】:
我在表 A 中有一组行(使用 AI PK),我想根据某些条件克隆它们,即:
INSERT INTO A (field1, field2, field3) SELECT field1,field2,field3 FROM A WHERE (criteria)
但是,这些行与表 B 具有 1-1 关系,表 B 在 B 中具有 AI PK,在 A 中具有 FK。我还想克隆表 B 中的相关行并将 A 中的克隆行指向B 中的克隆行不是原始行。
我正在寻找最简单的方法来做到这一点——最好是在 SQL 中。
这是我正在尝试做的一个示例:
克隆前:
Table A
ID B_FK Other Data Meets Clone Criteria
1 101 Data 1 true
2 102 Data 2 false
3 103 Data 3 true
4 104 Data 4 true
Table B
ID Other Data
101 Data A
102 Data B
103 Data C
104 Data D
行克隆后:
Table A
ID B_FK Other Data
1 101 Data 1
2 102 Data 2
3 103 Data 3
4 104 Data 4
5 105 Data 1
6 106 Data 3
7 107 Data 4
Table B
ID Other Data
101 Data A
102 Data B
103 Data C
104 Data D
105 Data A
106 Data C
107 Data D
【问题讨论】:
-
这个问题解决了 SQL Server 中的同样问题——但我被困在 MySQL 中:stackoverflow.com/questions/5365629/…
-
这是一个与存储过程相关的问题,用于执行单行 - 但我想做一整组行:stackoverflow.com/questions/6767066/…