テーブルの構造を維持しながら、MySQLでテーブルをパーティション分割したいと思います。
'Year'
、に基づいて、テーブルを各年ごとに異なるテーブルに分割する列があります。新しいテーブルには、などの名前が付け'table_2012'
られ'table_2013'
ます。結果のテーブルには、ソーステーブルとまったく同じようにすべてのフィールドが含まれている必要があります。
次の2つのSQLスクリプトを試しましたが、成功しませんでした。
1.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.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) );
どんな援助もいただければ幸いです!