(MySQL)我正在尝试将“订阅”表迁移到3个新表中:“product”,“subscription”,“actual”,其中“actual”是实际产品的名称,例如newsletter。订阅具有对产品的FK引用,并且实际具有订阅的FK引用。
我知道INSERT INTO SELECT
语句可能会将数据从许多表复制到一个;对于我的情况,是否有一个声明要做相反的,一对多的表?
答案 0 :(得分:0)
我认为你可以在select语句中使用三个单独的插入。首先转换产品表,然后转换订阅,您可以使用嵌入式选择在产品表中查找ID:
insert into subscription (some_column, FK_id,...)
select something, (select id from product where <your where clause>),...
最后使用嵌入式select转换实际表以从订阅表中获取id。
答案 1 :(得分:0)
我不知道SQL语句会做你想做的事情。只需要一个接一个地插入INSERT INTO SELECT。无论如何,一次做一个可能会更快。