这个函数,可以在select 使用,insert就不行,大佬们,这是为什么,mysql5.7

解决方案 »

  1.   

    你把第五行,SET 开头的那一行,copy到INSERT前,一起执行这一段。
    就是先执行SET,再执行INSERT。
      

  2.   

    我只是为了对比才把日期放前面 ,修改后还是不行的 
    DROP TABLE IF EXISTS tmp_product;
      CREATE TEMPORARY TABLE tmp_product( 
    productid VARCHAR(40) , 
    hottype int);

    set @todate = '2019-08-26';
    INSERT into tmp_product
    SELECT product_id,fn_saleshottype_V3(@todate,product_id) FROM ads_productdaliy_report ;
    -- where right(statisticalmonth,2) =month(@todate);

    select * FROM tmp_product;
      

  3.   

    你把INSERT后边所有的@todate,统统换成'2019-08-26'试试看。
      

  4.   

    还是不行,把insert 去掉,不管用@todate还是'2019-08-26'都没问题。只要insert 就不行