我需要将数据从一个表移动到两个表中。
例如
我有带有A,B,C,D,E字段的TableA (这是旧的表),还有TableX和TableY。TableX包含A、B和C字段,TableY包含D和E。
目前,我有一个查询,它将数据插入到第一个表中,而不是第二个表中,如下所示
INSERT INTO TableX
(A,B,C)
SELECT A,B,C
FROM TableA这是可行的
这3个表包含它们的id,并且在新结构TableY中必须包含一个带有TableX的引用,表的完整字段将
表的完整字段为
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_toX` int(10) not NULL,
`D` varchar(45) DEFAULT NULL,
`E` varchar(45) DEFAULT NULL,如何在TableA的同一条记录的TableY中插入TableA的引用?
发布于 2014-07-12 07:17:42
修改TableA,使其包含一个惟一的ID,您可以将其插入到这两个新表中。使用此列可以创建所需的任何引用,如果其他ALTER TABLE不再需要此列,则将其删除。
发布于 2014-07-12 07:17:51
尝试:
INSERT INTO TableY (id_toX, D, E)
SELECT DISTINCT t2.id, t1.D, t1.E
FROM TableA as t1
inner join
TableX as t2
on (t1.A=t2.A and t1.B=t2.B and t1.C=t2.C)https://stackoverflow.com/questions/24707947
复制相似问题