mysql临时表字段个数限制_mysql 大量数据插入(可用于数据添加字段不能添加的情况,因为会copy临时表。这样可以手动分批处理)...

delimiter $$ drop procedure if exists P_insert_sale_order_detail_3 $$ create procedure P_insert_sale_order_detail_3(out p_num int,out p_num2 int) BEGIN select  @p_num:=min(order_detail_id),@p_num2:=max(order_detail_id)  from sale_order_detail ; set p_num=@p_num; set p_num2=@p_num2; select  @p_num3:=max(order_detail_id)  from sale_order_detail_3 ; if @p_num3>p_num then  set p_num=@p_num3; end if ; WHILE (p_num<=p_num2) do INSERT INTO sale_order_detail_3 (  order_detail_id ,erp_order_detail_id ,order_id ,erp_order_id ,shop_id ,member_id ,create_time ,place_order_time ,pay_time ,sale_time ,outer_sku_id ,product_id ,erp_sku_id ,sku_id ,color_id ,size_id ,num ,update_timestamp ,network_price ,real_price ,cost_price ,network_amount ,real_amount ,discount_amount ,discount_rate ,avg_order_discount ,retained_amount ,post_fee ,is_presale ,shop_name ,member_name ,product_code ,color_name ,size_name ,sku_name ,outer_sku_name ,outer_order_id ,if_original ) SELECT   b.order_detail_id ,b.erp_order_detail_id ,b.order_id ,b.erp_order_id ,b.shop_id ,b.member_id ,b.create_time ,b.place_order_time ,b.pay_time ,b.sale_time ,b.outer_sku_id ,b.product_id ,b.erp_sku_id ,b.sku_id ,b.color_id ,b.size_id ,b.num ,b.update_timestamp ,b.network_price ,b.real_price ,b.cost_price ,b.network_amount ,b.real_amount ,b.discount_amount ,b.discount_rate ,b.avg_order_discount ,b.retained_amount ,b.post_fee ,b.is_presale ,b.shop_name ,b.member_name ,b.product_code ,b.color_name ,b.size_name ,b.sku_name ,b.outer_sku_name ,b.outer_order_id ,b.if_original FROM  ( SELECT order_detail_id FROM sale_order_detail WHERE order_detail_id>=p_num+1 ORDER BY order_detail_id ASC  LIMIT 10000 ) a  JOIN sale_order_detail b  ON a.order_detail_id=b.order_detail_id ; SET p_num=p_num+10000; end while ; end ; $$ /* call P_insert_sale_order_detail_3(@p_num,@p_num2 ); select @p_num,@p_num2; select count(1),max(order_detail_id),count(distinct order_detail_id) from sale_order_detail_3; */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值