我想在保留表结构的同时在MySQL中对表进行分区。根据列值对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) );
任何援助将不胜感激!