mysql(21)-存储过程-动态插入数据()

#用navicat 做查询运行下列语句是OK的。
insert into newday20210701 values('var1','2021-07-01 00:15:00','10');

#调用存储过程拼接字符会报各种错
#1.表里必须要有主键
#2.拼接字符串要有‘\’

1.表要设主键
2.字符串拼接必须有转义字符'\'

 

delimiter //
use `lp_test`;
CREATE  definer =`root`@`%` PROCEDURE pro_insertTable()
BEGIN
  declare i INT;
  SET i=0;
  while i<2 DO  
  select DATE_FORMAT(DATE_SUB(NOW(),INTERVAL i DAY),'newday%Y%m%d') into @newtableName;
  set @myData='\'10\'';                   #单引号要有转义字符
  set @myTime='\'2018-12-05\ 00:35:00\''; #空格要有转义字符
  set @strsql = CONCAT('insert into ',@newtableName,'(`VARIANTNAME`, `TIME`, `DATA`)values(\'var_test\',',@mytime,',',@mydata,');');
  PREPARE stmt from @strsql;
  EXECUTE stmt;
  set i=i+1;
  end while; 
END;
//
delimiter ;
call pro_insertTable()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值