2013-01-09 45 views
1

我目前正在使用MySQL將數據手動插入到我的數據庫中進行學習,並且我偶然發現了一個部分之間的輕微混淆,我認爲在閱讀完主題後在這裏,但是它不插入任何東西,但也不會給出錯誤。MySQL - 插入數據並從表中選擇

下面是我已經進入返回沒有錯誤,但什麼都不做任何代碼:

INSERT INTO Deliveries (O_ID,ShipDate,ArrDate,Del_Comp) 
SELECT O_ID,'2012-10-21','2012-11-02','City Link' 
FROM Orders 
WHERE O_ID=1; 

什麼基本上,我試圖做的,是從Orders表(最好是通配符,如果選擇一個ID可能),然後在將相關行添加到Deliveries表之前,將自定義信息添加到同一行中。所以我顯然最終會看到我的第一行是SELECT行中的所有信息。

+0

您是否確定在OID爲1的訂單中有一行? –

+0

所以你想更新和現有的行!?! – Strawberry

+0

O_ID是我Orders表中的主鍵,所以是的,它確實存在。沒有草莓,我想在我的交付表中插入一個新的行。 – MattVon

回答

1

錯誤的部分是SELECT O_ID,'2012-10-21','2012-11-02','City Link',它給出了使用值的INSERT和使用SELECT子查詢的INSERT的組合。

您希望將列名指定爲SELECT,而不是實際值。

+0

好的,你在我想要的正確軌道上。我手動添加的值目前不存在。 O_ID在訂單表中執行,但其餘的信息沒有。這就是我想要做的,從一個表中的一行中收集一個項目,並將其與手動輸入的新值(不是從另一個表中收集)相結合。 – MattVon

+0

查看Mahmoud Gamal的回答。有用。剛剛測試過它。起初,我沒有得到你想要達到的目標。 – sqreept

+0

看起來他剛剛刪除了他的帖子。該代碼根本不適合我。它指出沒有語法錯誤或任何東西,但它並沒有爲我插入任何東西。 – MattVon