我想在 MySQL 中对表进行分区,同时保留表的结构。
我有一列,'Year'
,我想根据它分别将表格分成每年的不同表格。新表将具有类似的名称'table_2012'
,'table_2013'
依此类推。结果表需要与源表中的所有字段完全相同。
我尝试了以下两段 SQL 脚本,但均未成功:
1.
CREATE TABLE all_data_table ( column1 int default NULL, column2 varchar(30) default NULL, column3 date default NULL ) ENGINE=InnoDB PARTITION BY RANGE ((year)) ( PARTITION p0 VALUES LESS THAN (2010), PARTITION p1 VALUES LESS THAN (2011) , PARTITION p2 VALUES LESS THAN (2012) , PARTITION p3 VALUES LESS THAN (2013), PARTITION p4 VALUES LESS THAN MAXVALUE );
2.
ALTER TABLE all_data_table PARTITION BY RANGE COLUMNS (`year`) ( PARTITION p0 VALUES LESS THAN (2011), PARTITION p1 VALUES LESS THAN (2012), PARTITION p2 VALUES LESS THAN (2013), PARTITION p3 VALUES LESS THAN (MAXVALUE) );
任何援助将不胜感激!