DBAtlas · Atlas d'exploitation des bases de données

1526: ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value (aucune partition de la table pour cette valeur)

MySQL

Que signifie cette erreur ?

La valeur de la clé de partitionnement de la ligne insérée ne correspond à aucune partition définie. En partitionnement RANGE ou LIST, l'insertion échoue car aucune partition ne couvre la valeur reçue.

Cause

En partitionnement RANGE, insertion d'une valeur au-delà de la borne la plus haute sans partition MAXVALUE définie (par ex. une date future) ; en partitionnement LIST, arrivée d'une valeur non listée. Fréquent dans les tables partitionnées par période lorsque la partition de la nouvelle période n'est pas ajoutée à temps.

Comment la corriger

Ajoutez une partition qui couvre la valeur. Nouvelle partition haute pour RANGE : ALTER TABLE my_table ADD PARTITION (PARTITION p2026 VALUES LESS THAN (2027)); Pour une partition fourre-tout, définissez MAXVALUE pour RANGE et les valeurs concernées pour LIST. Pour les tables basées sur le temps, mettez en place un job de maintenance (event/scheduler) qui ajoute automatiquement les partitions.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur