gpt4 book ai didi

mysql - 调用在 select 的每个值上插入到另一个表中

转载 作者:行者123 更新时间:2023-11-29 23:53:01 28 4
gpt4 key购买 nike

我目前正在将数据从旧数据库架构迁移到新数据库架构。

我有一个名为 Product 的表在我的旧数据库上,在我的新数据库模式上我仍然有 Product表和 b_id 的新列,和另一个表B .

在迁移过程中,我需要向表 B 插入一个条目对于我表中的每个产品并更新 Product表设置 b_id对于 b 上为此产品新创建的条目。我怎样才能做到这一点?

要传输产品表的数据,我有:

INSERT INTO newSchema.Product
SELECT id, prodName
FROM oldSchema.Product

我正在考虑循环进入 oldSchema.Product对于每种产品,请调用 INSERT INTO BUPDATE TABLE Product ,但不知道如何将其放入代码中。

任何帮助将不胜感激。谢谢!

最佳答案

B表也是如此...

INSERT INTO newschema.B (product_id)
SELECT id
FROM oldschema.product

已编辑:

CREATE TABLE newschema.b (
id INT NOT NULL AUTO_INCREMENT,
product_id INT,
PRIMARY KEY (id)
);

CREATE TABLE newschema.product (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(35) NOT NULL,
b_id INT,
PRIMARY KEY (id),
FOREIGN KEY (b_id) REFERENCES b(id)
);

INSERT INTO newschema.b (product_id)
SELECT product_id
FROM oldschema.product ;

INSERT INTO newschema.product (id, name, b_id)
SELECT OP.id,
OP.name,
NB.id
FROM oldschema.product AS OP,
newschema.b AS NB
WHERE NB.product_id = OP.id ;

关于mysql - 调用在 select 的每个值上插入到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517694/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com