22001: string_data_right_truncation
PostgreSQLNe demek?
Bir metnin uzunluğu, hedef sütunun tanımlı uzunluğunu (örn. VARCHAR(n)) aştığı için değer kesilecekti; PostgreSQL bunu reddeder ve hata verir.
Neden olur?
VARCHAR(n)/CHAR(n) sütuna, n'den uzun bir metin eklenmesi veya güncellenmesi; uygulama tarafında beklenenden uzun veri gelmesi ya da sütun uzunluğunun ihtiyaca göre dar tanımlanması.
Nasıl çözülür?
Ekleyeceğiniz değeri sütuna sığacak şekilde kısaltın veya sütun uzunluğunu artırın: ALTER TABLE tablo ALTER COLUMN sutun TYPE VARCHAR(500). Sınırsız metin gerekiyorsa TEXT türünü kullanın. Uygulamada uzunluk doğrulaması yapın. Bilinçli kısaltma istiyorsanız açıkça LEFT(deger, n) uygulayın.