mysql 过程 CONCAT 错误

标签 mysql

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

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

<小时/>

但是这样不行,执行CALL porcedureName() 创建过程porcedureName() 开始 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' )); 从 @sqlstr 准备 stmt1 ; 执行stmt1; 结束

错误消息:[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\')
                        ');

关于mysql 过程 CONCAT 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46050831/

相关文章:

mysql - 如何修改此查询以添加一个新字段,其中包含原始记录总数的子集的字段的最大值?

php - "You have an error in your SQL syntax "升级到 CodeIgniter 3 后

mysql - 获取 MySQL 中最后 X 个条目的百分比

mysql - 在Linux终端中执行插入查询

SQL LIKE 问题

java - 过滤MySQL数据到JTable

mysql - 根据用户模型的数组属性中的值对 Rails 中的用户进行排序

php - MySql:不可更改的时区

mysql - 多个 ON WHERE SQL,无法让它工作

c# - mysql db 作为套接字编程的替代品?