每週我想複製過去一週的所有數據,並將其插入到其他數據庫中的表格中(表格中包含星期編號) 。使用存儲過程和表變量名稱創建事件
這使用存儲procudure正常工作:
SET @weekno:=WEEKOFYEAR(NOW());
SET @sql_text = concat('INSERT INTO
archive.data_2017_week_',@weekno,' select * from live.data_archive where
year(time) = 2017 AND week(time) = ',@weekno,'');
PREPARE stmt FROM @sql_text;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
但是,如果我試圖讓在phpMyAdmin這個每週一次的事件中,我獲得MySQL「錯誤代碼:1064」。
是否可以在事件中運行預準備語句?
如果沒有,是否有更好的方法來將每週數據複製到一張表中,並在其名稱中包含星期編號?
很多謝謝。
爲什麼你想使用多個單獨的表?如果您已正確編制索引,則使用單個應用程序的開銷應該很小。如果您需要在不同的塊設備上分配數據(並且不能使用LVM/RAID),那麼您可以使用分區。 – symcbean