我想在保留表結構的同時在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) );
任何援助將不勝感激!