Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

BIGINT UNSIGNED VALUE मेरी SQL सीमा से बाहर है

कृपया "<पढ़ें em>आउट-ऑफ-रेंज और ओवरफ्लो हैंडलिंग ".
यह कहता है:

mysql> SELECT 9223372036854775807 + 1;

ERROR 1690 (22003): BIGINT value is out of range in '(9223372036854775807 + 1)'

इस मामले में ऑपरेशन को सफल बनाने के लिए, मान को अहस्ताक्षरित में बदलें;

mysql> SELECT CAST(9223372036854775807 AS UNSIGNED) + 1;
+-------------------------------------------+
| CAST(9223372036854775807 AS UNSIGNED) + 1 |
+-------------------------------------------+
|                       9223372036854775808 |
+-------------------------------------------+

निम्नलिखित के रूप में आपकी क्वेरी के भाग में परिवर्तन करने से समस्या का समाधान हो जाएगा।

( CAST( quantity AS SIGNED ) - COUNT( game_moblist.spawn_id ) ) AS quantity_to_spawn

अन्यथा आपको sql_mode बदलने की आवश्यकता हो सकती है अहस्ताक्षरित संचालन पर।

mysql> SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';

और फिर वांछित आउटपुट प्राप्त करने के लिए अपनी क्वेरी चलाएँ।

फ़ोरम पर उत्तर दी गई इसी तरह की पोस्टिंग भी देखें

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CURTIME () उदाहरण – MySQL

  2. Amazon RDS से CSV फ़ाइल में तालिका निर्यात करना

  3. चयन का उपयोग करते समय MySQL बिट फ़ील्ड मान नहीं देख सकता

  4. Php का उपयोग करते हुए sql डेटाबेस में डालने में त्रुटि

  5. ग्रीक वर्ण एन्कोडिंग HTML में काम करता है लेकिन PHP में नहीं

© कॉपीराइट http://hi.sqldat.com सर्वाधिकार सुरक्षित