1526: ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value (a tabela não tem nenhuma partição para o valor)
MySQLO 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.
Mais entradas deste banco
- 1170ER_BLOB_KEY_WITHOUT_LENGTH: BLOB/TEXT column used in key specification without a key length (coluna BLOB/TEXT usada em uma chave sem comprimento de chave)
- 1592ER_BINLOG_UNSAFE_STATEMENT: Unsafe statement written to the binary log (comando inseguro gravado no binary log)
- 3140ER_INVALID_JSON_TEXT: Invalid JSON text
- 1049Unknown database 'name'
- 1364Field 'name' doesn't have a default value (o campo não tem valor padrão)
- 1206The total number of locks exceeds the lock table size (o número total de locks excede o tamanho da tabela de locks)
- 1236Got fatal error 1236 from master when reading data from binary log (erro fatal 1236 do master ao ler o binary log)