1

以下是我的查询,这个查询给了我以下错误Unknown column 'package_id' in 'where clause

insert into company_packages(
     package_product_id
    ,product_id
    ,company_id
    ,user_id
    ,expiry_date
    ,discount) 
values(
     (select id from package_products 
     where package_id=1 and product_id=5 and status=1 limit 1)
    ,5
    ,111
    ,116
    ,'2015-06-10'
    ,0)

但是当我运行这个内部查询时,我没有收到任何错误

select id from package_products 
where package_id=1 and product_id=5 and status=1 limit 1
4

2 回答 2

1

这个查询改为

INSERT INTO company_packages(package_product_id,product_id,company_id,user_id,expiry_date,discount) 
SELECT id, 5, 111, 116, '2015-06-10', 0 
FROM package_products 
WHERE package_id=1 AND product_id=5 AND status=1 
LIMIT 1
于 2014-12-10T15:12:22.973 回答
0

试试这个,这样你就不会混淆INSERT...VALUESINSERT...SELECT语法:

 insert into company_packages
 (
     package_product_id
   , product_id
   , company_id
   , user_id
   , expiry_date
   , discount
 ) 

select 
     id 
   , product_id
   , 111
   , 116
   , '2015-06-10'
   , 0
from package_products 
where package_id=1 
and   product_id=5 
and   status=1 
limit 1
于 2014-12-10T15:12:24.147 回答