什麼是在下列情況下的最佳做法:MySQL的 - 插入值與多個表未知的主鍵
我想寫一個MySQL的語句從結果集取數據(加入3個表) ,並將這些值插入到3個新表中。現在有兩個問題,一個是我想同時插入到三個表中,另一個是需要進入三個表中的兩個的值之一是由插入值生成的主要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
產生的主鍵。
是不是更好(最佳實踐)將其拆分爲多個查詢,或者是否有在單個查詢中執行此操作的有效方法?
感謝
只需使用視圖作爲臨時轉換表即可解決問題。 – 2011-03-30 14:13:19