1526: ER_NO_PARTITION_FOR_GIVEN_VALUE: Table has no partition for value
MySQLNe demek?
Eklemeye çalıştığınız satırın bölümleme (partition) anahtarı değeri, tanımlı hiçbir bölüme uymuyor. RANGE veya LIST bölümlemede, gelen değeri kapsayan bir bölüm bulunmadığı için ekleme başarısız olur.
Neden olur?
RANGE bölümlemede en üst sınırın ötesinde bir değer eklemek ve MAXVALUE bölümünün tanımlı olmaması (ör. gelecekteki bir tarih); LIST bölümlemede listelenmemiş bir değerin gelmesi. Zamana göre bölümlenmiş tablolarda yeni dönem bölümü zamanında eklenmediğinde sık yaşanır.
Nasıl çözülür?
Değeri kapsayan bir bölüm ekleyin. RANGE için yeni üst bölüm: ALTER TABLE tablo ADD PARTITION (PARTITION p2026 VALUES LESS THAN (2027)); Genel bir yakalama bölümü için RANGE'de MAXVALUE, LIST'te ilgili değerleri tanımlayın. Zaman bazlı tablolarda bölümleri otomatik ekleyen bir bakım işi (event/scheduler) kurun.
Aynı motorda diğer kayıtlar
- 1170ER_BLOB_KEY_WITHOUT_LENGTH: BLOB/TEXT column used in key specification without a key length
- 1592ER_BINLOG_UNSAFE_STATEMENT: Unsafe statement written to the binary log
- 3140ER_INVALID_JSON_TEXT: Invalid JSON text
- 1049Unknown database 'name'
- 1364Field 'name' doesn't have a default value
- 1206The total number of locks exceeds the lock table size
- 1236Got fatal error 1236 from master when reading data from binary log