2013-01-09 47 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