這可能很難理解,所以讓我知道是否需要更好地描述它。說我有3個表TABLEA,tableB的,和表C語法如下:mysql表格移動插入
CREATE TABLE tableA (
data_point_1 VARCHAR(30),
data_point_2 VARCHAR(30),
data_point_3 VARCHAR(30)
);
CREATE TABLE tableB (
bid INTEGER AUTO_INCREMENT,
cid INTEGER AUTO_INCREMENT,
data_point_1 VARCHAR(30),
);
CREATE TABLE tableC (
cid INTEGER AUTO_INCREMENT,
data_point_2 VARCHAR(30),
data_point_3 VARCHAR(30)
);
現在我想要做的就是從表A傳輸數據到tableB的並表C。因此,在本質上我想是這樣的:
INSERT INTO tableB
SELECT
data_point_1,
(SELECT cid FROM tableC WHERE (INSERT INTO tableC SELECT data_point_2, data_point_3 FROM tableA))
FROM tableA
我沒試過上面,但我猜想這是不可能的,因爲INSERT不返回的實際值(我需要一個選擇我假設) ,但我的問題變成如何插入數據從A把它放入C,然後在同一時間從C抓取ID和A的另一個數據點,並將這兩個數據點放入B.
我想我可能會破壞它分成2個插入語句,然後在C上進行選擇,其中data_point_2 = data_point_2和data_point_3 = data_point_3,但是我想知道是否有一種方法可以在一個查詢中執行?我找不到任何東西,所以我想我會在這裏問。
同樣:我不想要2個單獨的插入查詢。我希望能夠做到這一點的1(原因理論上我可能需要抽象它還)
沒有人有迴應嗎?仍然沒有看到這樣做的一種可行的方式... – 2012-02-15 16:36:17
你可能會問不可能的事情(無論如何MySQL)。我不確定你所關心的是什麼,但是你可以研究交易是如何工作的。他們是一種可以讓許多陳述幾乎「一次發生」的方式。 – Andrew 2012-02-15 17:07:23
從外觀上看,它可能是不可能的,因爲沒有人能找到解決方案。謝謝=/ – 2012-02-17 01:50:25