MySQL插入语句(插入表(列)select语句)

Smu*_*ger 3 mysql select insert

我试图将值插入表的选定列,但只插入MySQL语句的结果.select语句本身可以正常工作并返回结果.

当与insert语句结合使用时,它将失败

error incorrect syntax near `dedspgoods`.`case number`.
Run Code Online (Sandbox Code Playgroud)

任何人都可以用正确的语法帮助我吗?我的错误语法如下:

insert into despgoods_alldetails 
  (`case number`, weight, customer, transporttypename) 
values 
( select despgoods.`case number`
       , despgoods.weight
       , despgoods.customer
       , customers.transporttypename 
  from despgoods 
    inner join customers 
      on despgoods.customer = customers.customer )
Run Code Online (Sandbox Code Playgroud)

ype*_*eᵀᴹ 19

如果这是SELECT有效的:

select despgoods.`case number`
     , despgoods.weight
     , despgoods.customer
     , customers.transporttypename 
from despgoods 
  inner join customers 
    on despgoods.customer = customers.customer
Run Code Online (Sandbox Code Playgroud)

然后尝试这个(注意VALUES如果你想插入一个结果集,则没有子句SELECT:

insert into despgoods_alldetails 
  (`case number`, weight, customer, transporttypename) 
select despgoods.`case number`
     , despgoods.weight
     , despgoods.customer
     , customers.transporttypename 
from despgoods 
  inner join customers 
    on despgoods.customer = customers.customer
Run Code Online (Sandbox Code Playgroud)