我目前正在使用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(如果可能,最好是通配符),然后在将自定义信息添加到{{1}之前在同一行中添加自定义信息}表。所以我显然最终得到的第一行是SELECT行上的所有信息。
答案 0 :(得分:1)
错误的部分是SELECT O_ID,'2012-10-21','2012-11-02','City Link'
,它使用SELECT和使用SELECT子查询的INSERT组合INSERT。
您希望将列名指定为SELECT,而不是实际值。