【发布时间】:2011-07-26 02:13:45
【问题描述】:
在以下情况下最佳做法是什么:
我想编写一个 MySQL 语句从结果集中获取数据(连接 3 个表),并将这些值插入到 3 个新表中。现在有2个问题,一个是我要同时插入3个表,另一个是需要进入3个表中的2个的值之一是插入值生成的primary kry进入三个表中的第一个。
用高级术语(忽略语法),我想:
INSERT INTO `table1`(
`one_field1`,
`one_field2`,
...
), `table2`( -- not possible?
`two_field1`,
`two_field2`,
...
), `table3`( -- not possible?
`three_field1`,
`three_field2`,
...
)
SELECT value1,
value2,
...,
value3,
value4,
...,
value5,
value6,
...
FROM ...
其中value3 和value5 是将value1 和value2 插入到table1 中生成的主键。
将其拆分为多个查询是否更好(最佳实践),或者是否有一种有效的方法可以在单个查询中执行此操作。
谢谢
【问题讨论】:
标签: mysql