क्या उनके mysql में int int फ़ील्ड है जहां नकारात्मक संख्याओं की अनुमति नहीं है? या अधिक विशेष रूप से यदि फ़ील्ड में ऋणात्मक संख्या डाली जाती है तो यह शून्य डालेगी। मैं यह पूछता हूं क्योंकि हमारे पास स्कोरिंग सिस्टम है और हम लोगों को नकारात्मक स्कोर करने की अनुमति नहीं देते हैं। तो यदि उनका स्कोर शून्य तक पहुंच जाता है, तो यह इसके बजाय शून्य डाल देगा। मैं यह देखने के लिए उपयोगकर्ता के स्कोर से पूछताछ किए बिना ऐसा करने की कोशिश कर रहा हूं कि यह शून्य हो जाएगा या नहीं।mysql नकारात्मक संख्याओं को रोकता है
उत्तर
डीडीएल परिवर्तन (आईएनटी संयुक्त राष्ट्र) के अलावा अन्य लोगों ने सिफारिश की है, मैं भी आपके आवेदन तर्क को बदल दूंगा। कहते हैं:
मैं जाँच करने के लिए उपयोगकर्ता के स्कोर क्वेरी करने के लिए अगर यह bellow शून्य गिर जाएगी बिना यह करने के लिए कोशिश कर रहा हूँ
आप स्पष्ट रूप से एक अलग में जांच करने के लिए नहीं है। क्वेरी:
UPDATE your_table
SET score = GREATEST(score + ?, 0) -- This '?' is the adjustment to the score
WHERE user_id = ?
अब आपका आवेदन शून्य से नीचे गिरने के लिए score
अद्यतन नहीं कर सकता है, न ही यह SQL मोड के आधार पर त्रुटियों या चेतावनियां उत्पन्न करेगा।
हां। आप int
फ़ील्ड बना सकते हैं और इसे UNSIGNED
के रूप में चिह्नित कर सकते हैं।
MySQL 5.0 Reference Manual से:
INT[(M)] [UNSIGNED] [ZEROFILL]
A normal-size integer. The signed range is -2147483648 to 2147483647.
The unsigned range is 0 to 4294967295.
लेकिन बिना हस्ताक्षर किए गए int कॉलम को पूर्णांक डालने का प्रयास करने से त्रुटि – Raaghu
MySQL पूर्णांक प्रकार के लिए एक UNSIGNED
क्वालीफायर है।
नकारात्मक मूल्यों शून्य से संबद्ध कर दिया जाएगा, लेकिन एक चेतावनी उत्पन्न करेगा:
mysql> create table test (id int(5) unsigned not null);
Query OK, 0 rows affected (0.05 sec)
mysql> insert into test values (-1), (5), (10);
Query OK, 3 rows affected, 1 warning (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 1
mysql> select * from test;
+----+
| id |
+----+
| 0 |
| 5 |
| 10 |
+----+
3 rows in set (0.01 sec)
त्रुटि नहीं होगी अगर चेतावनी में त्रुटि हो रही है तो चेतावनी एक mysql त्रुटि का कारण बन जाएगी? – user962449
@ user962449 मुझे नहीं पता, मैंने कभी ऐसा करने में त्रुटि को चालू नहीं किया है। आप कोशिश क्यों नहीं करते? – Alnitak
आप सख्त एसक्यूएल मोड में चला रहे हैं कि यह एक त्रुटि है और एक सम्मिलित/अपडेट विफल हो जाएगा फेंक होगा।
मैं इस तरह की चीज़ के लिए उपयोगकर्ता नाम से परिभाषित फ़ंक्शन बनाता हूं। (इस मामले में एक बहुत छोटा "अगर (expr1, expr2, expr3)" चाल करेगा
- 1. बिट्स नकारात्मक संख्याओं का प्रतिनिधित्व
- 2. TryParse नकारात्मक संख्याओं में विफल रहा
- 3. ऑनक्लिक पेज को रोकता है
- 4. AppDomain.Unload() थ्रेड को कैसे रोकता है?
- 5. जावास्क्रिप्ट अज्ञात फ़ंक्शन को रोकता है?
- 6. क्या ब्रेकपॉइंट सभी धागे को रोकता है?
- 7. सी ++ वैरिएबल-साइज सरणी को रोकता है
- 8. संवाद कॉलिंग गतिविधि को रोकता है?
- 9. Omnicompletion उपयोगी भविष्यवाणियों को रोकता है
- 10. अंततः प्रयास को कैसे रोकता है?
- 11. ऋणात्मक संख्याओं
- 12. नकारात्मक छवि को सकारात्मक
- 13. क्यों अधिकांश ग्राफ एल्गोरिदम नकारात्मक संख्याओं को इतनी आसानी से अनुकूलित नहीं करते हैं?
- 14. सकारात्मक और नकारात्मक संख्याओं को अपने स्वयं के कॉलम में कैसे अलग करें?
- 15. क्या आप संख्याओं को कम करने के लिए अपना नकारात्मक दिखने वाला उदाहरण बचा सकते हैं?
- 16. समूह में सभी नकारात्मक संख्याओं को शून्य कैसे करें- टी-एसक्यूएल कथन
- 17. हस्ताक्षर किए गए पूर्णांक पढ़ने पर नकारात्मक संख्याओं को पार्सिंग त्रुटियों के रूप में कैसे पहचानें?
- 18. ईओएफ हमेशा नकारात्मक है?
- 19. क्या लेन-देन MySQL में सभी दौड़ की स्थिति समस्याओं को रोकता है?
- 20. Kadane एल्गोरिथ्म ऋणात्मक संख्याओं
- 21. दो संख्याओं को जोड़ना
- 22. क्रोम वीडियो निष्पादन रोकता है
- 23. स्ट्रिंग से संख्याओं को हटा रहा है?
- 24. कंप्यूटर 2 संख्याओं को कैसे बढ़ाता है?
- 25. rspec नकारात्मक समय दिखाता है
- 26. गुणा के बाद नकारात्मक मान नकारात्मक- जावा
- 27. नकारात्मक संख्या
- 28. छवियों में संख्याओं को पहचानें
- 29. नकारात्मक प्रत्यय
- 30. मेवेन कार्गो कंटेनर को नहीं रोकता
यह एक बहुत ही उपयोगी विचार है। मैंने कुछ फ़ील्ड को हस्ताक्षरित करने के लिए बदल दिया था, लेकिन उन्होंने मौजूदा त्रुटि हैंडलिंग विधियों को ट्रिगर किया और मुझे उन्हें हटाना पड़ा। जांच के लिए एक व्यर्थ क्वेरी/कनेक्शन से बचने के लिए यह उपयोगी है। – M1ke