这是一个非常简化的图形情况:http: //i.stack.imgur.com/5NoRe.png
有两个不同模式的数据库,旧的黄色数据库(一个简单明了的表)和新的绿色数据库(有一些类似上面描述的关系)。
问题是我想将 OldDB 上的信息(超过 40k 行)迁移到 NewDB 中,并且我被这种关系转换所困扰。在 OldDB 中,每个中心都有不同的字段,取决于它们的 CHAR(1) = Y 还是 = N,它们是否处于某种操作之下。
现在在 NewDB 中,我们将这些中心放在另一个表中,它们有自己的 id,并且与主表 (b) 的多对多相关。
所以我想要的是遍历 Old.DB 中的每个中心(最多 20 个),当它变成例如center14 CHAR(1) = Y
时,设置NewDB.center_has_b.center_id = 14
and NewDB.center_has_b.b_id = OldDB.oldb.oldb_id
。
我是 MySQL 的新手,但我正在考虑做这样的事情,但没有运气:
INSERT NewDB.center_has_b (center_id, b_id) (N, (SELECT oldb_id from OldDB.oldb WHERE centerN = 1));