DBAtlas · 数据库运维图谱

1526: ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value(表中没有对应该值的分区)

MySQL

含义

插入行的分区键值不属于任何已定义的分区。在 RANGE 或 LIST 分区中,由于没有分区覆盖传入的值,插入失败。

原因

在 RANGE 分区中,未定义 MAXVALUE 分区时插入了超出最高边界的值(例如未来日期);在 LIST 分区中,出现了未列出的值。在按时间分区的表中,新周期的分区未及时添加时很常见。

解决方法

添加覆盖该值的分区。为 RANGE 添加新的上限分区:ALTER TABLE my_table ADD PARTITION (PARTITION p2026 VALUES LESS THAN (2027)); 如需兜底分区,RANGE 定义 MAXVALUE,LIST 定义相应的值。对于基于时间的表,设置自动添加分区的维护作业(event/scheduler)。

在 DBAtlas 中打开 →

同一数据库的其他条目