2016-04-30 63 views
0

我有一個數據庫(MySQL)包含兩個表具有相同的主鍵,我已經插入數據到第一個表,但我想插入數據進入第二張桌子。使用JOIN插入與第一個表相同的Id列作爲第一個表

我已經得到的邏輯是:

[INSERT into Table2 (col1, col2, col3) Values (X1,X2,X3) WHERE Table1.id equals Table2.id] 

我似乎無法找到任何工作原理是這樣的與PHP使用INSERT語句。

任何幫助表示讚賞!

+0

的http://stackoverflow.com/questions/5178697/mysql-insert-into-multiple-tables-database-normalization – ub3rst4r

+1

你的問題可能重複說*「我想** **插入數據。 ..在以後的時間「*但你的邏輯表達爲(無效的)SQL查詢表明你想更新**現有的行(在以後的時間)。哪一個是你想要實現的正確邏輯? – axiac

回答

0

這聽起來像是你真的想更新第二張表,而不是插入它。 INSERT用於創建新的行,UPDATE用於修改現有的行。

您可以通過在UPDATE語句中使用JOIN來完成此操作。

UPDATE Table2 AS t2 
JOIN Table1 AS t1 ON t1.id = t2.id 
SET t2.col1 = t1.x1, t2.col2 = t1.x2, t2.col3 = t1.x3 
+0

謝謝@Barmar。解決了我的問題。 – Charles

+0

回答我的好奇心:有人如何學習SQL並且不知道INSERT和UPDATE之間的區別?它似乎應該是任何教程中解釋的第一件事情之一。 – Barmar

+0

我猜我在哪裏需要它來完成一項快速任務,我忽略了SQL的簡單事情。 – Charles

相關問題