MySQLテーブルパーティションA PRIMARY KEY must include all columns in the table's partitioning function

910 ワード

MySQLのデータテーブルをパーティション化すると、次のエラーが発生しやすくなります.
A PRIMARY KEY must include all columns in the table’s partitioning functionは、パーティションのフィールドがプライマリ・キーに含まれる必要があることを意味します.日付を使用してパーティション化する場合は、日付フィールドをプライマリ・キーに含める必要があります.
ALTER TABLE `order` PARTITION BY RANGE (to_days(create_time))
(
PARTITION p_Apr VALUES LESS THAN (to_days('2015-01-01')),
PARTITION p_May VALUES LESS THAN (to_days('2016-11-01')),
PARTITION p_Dec VALUES LESS THAN MAXVALUE );

さもないと間違いを報告します.しかし、時間を主キーにするのは珍しい.しかし、データベースのテーブルにプライマリ・キーがない場合、パーティション・ステートメントも成功します.