首页 文章

ERROR 1064(42000) - INSERT ... SELECT查询中的MySQL错误

提问于
浏览
0

作为我正在编写的MySQL触发器的一部分,我有一个返回的INSERT ... SELECT查询:

第7行的错误1064(42000):SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第33行使用'pp2(curr_code,pricing_id,pid,title,startdate,enddate,priority,enabled)附近的正确语法

INSERT INTO product_pricing pp2 (curr_code, pricing_id, pid, title, startdate, enddate, priority, enabled) 
SELECT cc, `pp1`.`pricing_id`, `pp1`.`pid`, `pp1`.`title`, `pp1`.`startdate`, `pp1`.`enddate`, `pp1`.`priority`, `pp1`.`enabled` 
FROM product_pricing pp1 
WHERE pp1.pp_id = NEW.pp_id 
ON DUPLICATE KEY UPDATE pp2.pp_id=(SELECT newppid := pp2.pp_id);

'm not sure if it'是 cc 的一部分?这是触发器中声明的变量,但它应该可以工作,因为你应该能够执行SELECT 'hello',t.col1 FROM table t

有关错误收到的任何建议 .

2 回答

  • 1

    INSERT syntax不允许别名 .

    INSERT INTO table [ ( column [, ...] ) ]
        { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
        [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
    
  • 0

    从INSERT查询中删除 pp2

相关问题