2017-09-05 4 views
0

Ich kopiere Daten Tabelle mit den aktuellen Monat aus einer anderen Tabelle wollenmysql Prozedur CONCAT Fehler

Diese SQL ok ist
SELECT * FROM aqi_hour where DATE_FORMAT(date, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m')


Aber das ist nicht in Ordnung, führen 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

Fehlermeldung: [Err] 1054 - Unbekannte Spalte 'Datum' in 'Feldliste'

Danke!

Antwort

0

Versuchen:

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\') 
         '); 
+0

arbeiten, vielen Dank –