2017-06-01 69 views
0

請參考下面我的查詢項目較少,SQL幫助| INSERT語句的選擇列表包含多於插入列表

insert into dbo.orderDetails(orderNo,clientId,productId,quantity) 
values(' ee941422-5546-4d62-b5d6-60ecd13ca2b8 ') 
select client_id,product_id,amount from dbo.cart 
where client_id =' efc08f7c-fdfc-4712-9488-fc1c55acb95e ' ; 

在此我想一個靜態orderno,其餘的應該來自​​於一個表(dbo.cart) 。當我執行我的查詢它顯示此錯誤

There are more columns in the INSERT statement than values specified in the 
VALUES clause. The number of values in the VALUES clause must match the 
number of columns specified in the INSERT statement. 

任何解決方案。

+0

您確定您使用的是MySQL嗎? 'dbo'通常是SQL-Server。 – Barmar

+1

「VALUES()」中的列數需要與要插入的表中的列數相匹配。 – ollie

回答

1

您不能同時擁有VALUESSELECT。如果要插入靜態值,請將其放入SELECT列表中。

insert into dbo.orderDetails(orderNo,clientId,productId,quantity) 
select ' ee941422-5546-4d62-b5d6-60ecd13ca2b8 ', client_id,product_id,amount from dbo.cart 
where client_id =' efc08f7c-fdfc-4712-9488-fc1c55acb95e ' ; 
相關問題