我找到了很多关于将数据从一个表复制到另一个表的答案。但是如何使用除经典方法之外的子句:
INSERT INTO T2 (field1, field2) SELECT field1, field2 FROM T1;
我想将X字段从T1复制到T2,但T2.T1_id = T1.id。
类似的东西:
INSERT INTO bottles (volume_id, container_id) SELECT volume_id, container_id FROM wines, bottles WHERE bottles.wine_id = wines.id
事实上,我想将 volume_id,container_id 从葡萄酒转移到瓶子中,但是用于与每种葡萄酒相对应的瓶子。
我需要更新吗?
像这样的东西是可能的吗?
INSERT INTO bottles (volume_id, container_id) VALUES (SELECT volume_id, container_id FROM wines, bottles WHERE bottles.wine_id = wines.id) WHERE bottles.wine_id = wines.id
谢谢!
编辑:
示例当前数据:
table wines
-----------
id: 1
volume_id: 14
container_id:3
-
id: 2
volume_id: 15
container_id:4
table bottles
-------------
id: 1
wine_id: 1
-
id:2
wine_id: 1
-
id:3
wine_id: 2
新想要的数据:
table wines
-----------
id: 1
...
-
id: 2
...
table bottles
-------------
id: 1
wine_id: 1
volume_id: 14
container_id:3
-
id:2
wine_id: 1
volume_id: 14
container_id:3
-
id:3
wine_id: 2
volume_id: 15
container_id:4