DBAtlas · Atlas de operações de banco de dados

1526: ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value (a tabela não tem nenhuma partição para o valor)

MySQL

O que significa?

O valor da chave de particionamento da linha que você está inserindo não se encaixa em nenhuma partição definida. No particionamento RANGE ou LIST, a inserção falha porque nenhuma partição cobre o valor recebido.

Por que acontece?

No particionamento RANGE, inserir um valor além do limite mais alto sem uma partição MAXVALUE definida (por exemplo, uma data futura); no particionamento LIST, a chegada de um valor não listado. Comum em tabelas particionadas por tempo quando a partição do novo período não é adicionada a tempo.

Como resolver

Adicione uma partição que cubra o valor. Uma nova partição superior para RANGE: ALTER TABLE my_table ADD PARTITION (PARTITION p2026 VALUES LESS THAN (2027)); Para uma partição que capture todo o restante, defina MAXVALUE para RANGE e os valores relevantes para LIST. Em tabelas baseadas em tempo, configure um job de manutenção (event/scheduler) que adicione partições automaticamente.

Abrir no DBAtlas →

Mais entradas deste banco