你能在MySQL中嵌套INSERT
语句吗?
我有这个架构:
T1(ids)
T2(id, x, ...)
T3(id, y, ...)
我需要做的是将数据从表T2
复制到表T3
,同时修改某些字段并将新数据添加到T3
,然后更新父表T1
引用新记录。
我知道我们可以运行这样的命令来复制表之间的记录:
INSERT INTO T3 SELECT id+1000, X, 'new', ... FROM T2
但是,我需要将已创建的新记录通过管道传输到T1
。
像这样:
INSERT INTO T1 SELECT id FROM
(INSERT INTO T3 SELECT id+1000, X, 'new', ... FROM T2)
这可能吗?我的ID不会自动增加,T1
是T2
和T3
的ID列表,每条记录都有一些额外的数据。 T2
和T3
不是相同的表格。
我只需要使用新ID将数据从T3
复制到T2
,然后更新T1
以反映所创建的新记录,如果在1个事务中,可能的。