我需要将数据从一个表移动到两个表中。
例如
我有TableA
个A,B,C,D,E
个字段(这是旧表),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,
如何在TableX
TableY
中插入TableA
的引用
答案 0 :(得分:1)
更改TableA
以包含可以插入到两个新表中的唯一ID。使用此列可以创建您希望的任何引用,如果不再需要另一个ALTER TABLE
,则删除此列。
答案 1 :(得分:0)
尝试:
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)