每周我想复制过去一周的所有数据,并将其插入到其他数据库中的表格中(表格中包含星期编号) 。使用存储过程和表变量名称创建事件
这使用存储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