mysql 5.1では↓こうらしい。主キーを変更する訳にはいかないんですけど
mysql> desc juchuu;
+-------------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+-------------+------+-----+---------+----------------+
| anken_id | int(11) | YES | | NULL | |
| id | int(11) | NO | PRI | NULL | auto_increment |
| official_id | varchar(6) | YES | UNI | NULL | |
| juchuu_type | varchar(16) | YES | | NULL | |
| mitsumori_date | date | YES | | NULL | |
| keiyaku_date | date | YES | | NULL | |
| : | | | | | |
+-------------------------+-------------+------+-----+---------+----------------+
53 rows in set (0.00 sec)
mysql> ALTER TABLE juchuu
-> PARTITION BY RANGE( id ) (
-> PARTITION p_0 VALUES LESS THAN ( 20000),
-> PARTITION p_1 VALUES LESS THAN ( 40000),
-> PARTITION p_2 VALUES LESS THAN ( 60000),
-> PARTITION p_3 VALUES LESS THAN ( 80000),
-> PARTITION p_4 VALUES LESS THAN (100000),
-> PARTITION p_5 VALUES LESS THAN (120000),
-> PARTITION p_6 VALUES LESS THAN (140000),
-> PARTITION p_7 VALUES LESS THAN (160000),
-> PARTITION p_8 VALUES LESS THAN (180000),
-> PARTITION p_9 VALUES LESS THAN (200000),
-> PARTITION p_max VALUES LESS THAN MAXVALUE
-> );
ERROR 1503 (HY000): A UNIQUE INDEX must include all columns in the table's partitioning function
mysql> って、UNIQUE制約を付けたofficial_idカラムのことを怒っているんですね。
partition by range...扱いが難しい