我正在嘗試使用下面的代碼創建表的副本。如果他們都有相同的列,一切都很好。我的table1有2列(id,用戶名),而table2有3列(id,用戶名,日期)。我的目標是創建table1的一個副本,其中table1
.id = $ id並在其中插入date
。有人可以用這個指導我嗎?創建表的副本mysql
INSERT表2 SELECT * FROM表1 WHERE table1
.ID = $ ID
我正在嘗試使用下面的代碼創建表的副本。如果他們都有相同的列,一切都很好。我的table1有2列(id,用戶名),而table2有3列(id,用戶名,日期)。我的目標是創建table1的一個副本,其中table1
.id = $ id並在其中插入date
。有人可以用這個指導我嗎?創建表的副本mysql
INSERT表2 SELECT * FROM表1 WHERE table1
.ID = $ ID
例
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 ...
,但它會導致一些討厭的錯誤。
聽起來好像你正在尋找一個左連接表2S日期到表1只,其中ID匹配...先運行此查詢,你應該看到它選擇合適的結果,爲您設置:
SELECT table1.*, table2.date
FROM table1
LEFT JOIN table2
ON table1.id = table2.id
,那麼你可以在結果集出口或INSERT,請你爲Table
的新副本,看看在"INSERT INTO"
,我懷疑你正在尋找這樣的事情?
INSERT INTO table2 (id, username)
SELECT id,username FROM table1
快速和髒,添加日期列後續 – 2013-05-19 22:28:56
而不是SELECT *只需選擇兩列。除非我失蹤。 – Steven
它不會讓我插入,因爲它們沒有相同的列號 – user2310422