【发布时间】:2015-06-15 05:49:56
【问题描述】:
我改变了我的数据库的设计,假设旧的设计是这样的:
tableA (keyA, atrA1, atrA2, atrA3)
tableB (keyB, atrB1)
tableC (keyC, atrA1, atrA2, atrB1, atrC1, atrC2)
新设计是:
tableA (keyA, atrA1, atrA2, atrA3)
tableB (keyB, atrB1)
tableCNew (keyC, keyA(Foreign Key), keyB(Foreign Key), atrC1, atrC2)
为了清楚起见,保证 atrA1 和 atrA2 的每个组合都有一个唯一的 keyA(我的意思是,数据库中没有重复的值)。 atrB1 也是如此,整个表中没有重复项。
我要做的是一个 SQL 查询,将 tableC 的所有值插入 tableCNew。
所以,对于tableC的每一行,我需要找到atrA1和atrA2的keyA和atrB1的keyB,然后将获得的keyA和keyB连同atrC1和atrC2的旧值插入tableCNew。另外,我想在单个 SQL 查询中执行此操作。
有没有办法做到这一点?
【问题讨论】:
标签: mysql sql database database-migration