繁体   English   中英

mysql过程CONCAT错误

[英]mysql procedure CONCAT error

我想将数据从当前月份的另一个表复制到表中

这个SQL没问题
SELECT * FROM aqi_hour where DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) ,'%Y%m' )


但这不行,执行CALL porcedureName() create procedure porcedureName () begin SET @sqlstr = CONCAT(' CREATE TABLE aqi_hour_',DATE_FORMAT(now(),'%Y%m') ,' SELECT * FROM aqi_hour where ', DATE_FORMAT( date, '%Y%m' ) ,'=', DATE_FORMAT( CURDATE( ) , '%Y%m' )); PREPARE stmt1 FROM @sqlstr ; EXECUTE stmt1 ; end create procedure porcedureName () begin SET @sqlstr = CONCAT(' CREATE TABLE aqi_hour_',DATE_FORMAT(now(),'%Y%m') ,' SELECT * FROM aqi_hour where ', DATE_FORMAT( date, '%Y%m' ) ,'=', DATE_FORMAT( CURDATE( ) , '%Y%m' )); PREPARE stmt1 FROM @sqlstr ; EXECUTE stmt1 ; end

错误消息:[Err] 1054-“字段列表”中的未知列“日期”

谢谢!

尝试:

SET @`sqlstr` := CONCAT('CREATE TABLE aqi_hour_', DATE_FORMAT(NOW(), '%Y%m'),
                        ' SELECT *
                          FROM aqi_hour
                          WHERE DATE_FORMAT(date, \'%Y%m\') =
                                DATE_FORMAT(CURDATE() , \'%Y%m\')
                        ');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM