在 MySQL 中,如果在创建分区表时没有为每个分区指定名称,那么对应的 partition_name
将会是 NULL
。这也是为什么在 partitions
表中会有一些 partition_name
为 NULL
的原因。
例如,假设我们创建了一个名为 mytable
的分区表,但是没有为每个分区指定名称。那么在 partitions
表中查询这个表的信息时,会看到对应的 partition_name
字段为 NULL
。
CREATE TABLE mytable (
id INT,
date_col DATE
)
PARTITION BY RANGE( TO_DAYS(date_col) ) (
PARTITION p0 VALUES LESS THAN (TO_DAYS('2020-01-01')),
PARTITION p1 VALUES LESS THAN (TO_DAYS('2020-02-01')),
PARTITION p2 VALUES LESS THAN (TO_DAYS('2020-03-01'))
);
SELECT * FROM information_schema.partitions WHERE table_name = 'mytable';