मैं निम्न स्कीमाPostgreSQL: कैसे हल करने के लिए "संख्यात्मक फ़ील्ड अतिप्रवाह" समस्या
COLUMN_NAME, ORDINAL_POSITION,...., NUMERIC_PRECISION_INTEGER
"year";1;"";"YES";"numeric";;;17;10;17 "month_num";2;"";"YES";"numeric";;;17;10;17 "month_name";3;"";"YES";"text";;1073741824;;;
"week_of_month";4;"";"YES";"numeric";;;17;10;17
"count_of_contracts";5;"";"YES";"bigint";;;64;2;0
के साथ एक मेज है, लेकिन जब मैं डालने इसे में निम्नलिखित
insert into contract_fact values(2011, 8, 'Aug', 1, 367)
मैं निम्न त्रुटि देख
ERROR: numeric field overflow
SQL state: 22003
Detail: A field with precision 17, scale 17 must round to an absolute value less than 1.
यह एक स्कीमा नहीं है लेकिन कुछ आंतरिक पोस्टग्रेस तालिका से डंप है। यदि आप कुछ पठनीय उत्पादन करने के लिए सौजन्य कर सकते हैं, जैसे \ d से आउटपुट या CREATE तालिका कथन जो इस तालिका को बनाने के लिए उपयोग किया गया था (pgAdmin3 इस के साथ आपकी सहायता कर सकता है)? इसके अलावा, एक क्षेत्र घोषित संख्यात्मक (एक्स, वाई) एक्स स्थानों तक उपयोग कर सकता है, वाई decimals अल्पविराम के अधिकार के साथ। जिसका अर्थ है कि यदि एक्स = वाई आप केवल मूल्यों को स्टोर कर सकते हैं <1. –
इसके अलावा, कृपया किसी भी विशेष कॉलम ऑर्डर के आधार पर, अपने INSERT में कॉलम सूची शामिल करें, एक बुरा विचार है। –