2013-05-19 185 views
-2

我正在嘗試使用下面的代碼創建表的副本。如果他們都有相同的列,一切都很好。我的table1有2列(id,用戶名),而table2有3列(id,用戶名,日期)。我的目標是創建table1的一個副本,其中table1 .id = $ id並在其中插入date。有人可以用這個指導我嗎?創建表的副本mysql

INSERT表2 SELECT * FROM表1 WHERE table1 .ID = $ ID

+1

快速和髒,添加日期列後續 – 2013-05-19 22:28:56

+1

而不是SELECT *只需選擇兩列。除非我失蹤。 – Steven

+0

它不會讓我插入,因爲它們沒有相同的列號 – user2310422

回答

0

Table1 is ID,Name,DateAdded 
Table2 is Name,ID,DateOriginallyAdded,SomeOtherColumn 

查詢會說

Insert Table2(Name,ID,DateOriginallyAdded) Select Name,ID,DateAdded From Table1 Where ... 

指定兩個欄目,你可以逃脫與

Insert Table2 Select Name,ID,DateAdded,Null From Table1 Where ... 

Insert Table2(ID,Name,DateOriginallyAdded) Select * From Table1 Where ... 

,但它會導致一些討厭的錯誤。

0

聽起來好像你正在尋找一個左連接表2S日期到表1只,其中ID匹配...先運行此查詢,你應該看到它選擇合適的結果,爲您設置:

SELECT table1.*, table2.date 
FROM table1 
LEFT JOIN table2 
ON table1.id = table2.id 

,那麼你可以在結果集出口或INSERT,請你爲Table

0

的新副本,看看在"INSERT INTO",我懷疑你正在尋找這樣的事情?

INSERT INTO table2 (id, username) 
SELECT id,username FROM table1