Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में नकारात्मक संख्याओं को रोकना

कॉलम में नकारात्मक मान रोकने के लिए INT UNSIGNED (या अन्य अनसाइन्ड पूर्णांक प्रकार) का उपयोग करें।

एक टेबल बनाते हैं:

CREATE TABLE preventNegativeNumberDemo (
    UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName VARCHAR(20),
    UserGameScores INT
);

कॉलम को UNSIGNED में बदलें:

ALTER TABLE preventNegativeNumberDemo MODIFY COLUMN UserGameScores INT UNSIGNED NOT NULL;

विवरण जाँचें:

DESC preventNegativeNumberDemo;

आउटपुट

+----------------+------------------+------+-----+---------+----------------+
| Field          | Type             | Null | Key | Default | Extra          |
+----------------+------------------+------+-----+---------+----------------+
| UserId         | int(11)          | NO   | PRI | NULL    | auto_increment |
| UserName       | varchar(20)      | YES  |     | NULL    |                |
| UserGameScores | int(10) unsigned | NO   |     | NULL    |                |
+----------------+------------------+------+-----+---------+----------------+

नकारात्मक मान डालने का प्रयास:

INSERT INTO preventNegativeNumberDemo (UserName, UserGameScores) VALUES ('Larry', 0);    -- OK
INSERT INTO preventNegativeNumberDemo (UserName, UserGameScores) VALUES ('Mike', -1);   -- ERROR
INSERT INTO preventNegativeNumberDemo (UserName, UserGameScores) VALUES ('Sam', -100);  -- ERROR
INSERT INTO preventNegativeNumberDemo (UserName, UserGameScores) VALUES ('John', 100);  -- OK
INSERT INTO preventNegativeNumberDemo (UserName, UserGameScores) VALUES ('Bob', 200);   -- OK

त्रुटि: ERROR 1264 (22003): Out of range value for column 'UserGameScores' at row 1

परिणाम देखें:

SELECT * FROM preventNegativeNumberDemo;

आउटपुट

+--------+----------+----------------+
| UserId | UserName | UserGameScores |
+--------+----------+----------------+
| 1      | Larry    | 0              |
| 2      | John     | 100            |
| 3      | Bob      | 200            |
+--------+----------+----------------+

अनसाइन्ड पूर्णांक रेंज:

  • TINYINT UNSIGNED: 0 - 255
  • SMALLINT UNSIGNED: 0 - 65,535
  • MEDIUMINT UNSIGNED: 0 - 16,777,215
  • INT UNSIGNED: 0 - 4,294,967,295
  • BIGINT UNSIGNED: 0 - 18,446,744,073,709,551,615
  1. - MySQL में संख्याओं वाले रिकॉर्ड राउंड करें

    संख्या राउंड करने के लिए MySQL ROUND() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Amount DECIMAL(10,4) -> ); Query OK, 0 rows affected (1.18 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(100.578)

  1. - MySQL में अल्फान्यूमेरिक स्ट्रिंग से केवल संख्या निकालकर कैसे सॉर्ट करें?

    MySQL में अल्फान्यूमेरिक स्ट्रिंग (जैसे Adam_101) के अंतिम संख्यात्मक भाग के अनुसार सॉर्ट करने के लिए, RIGHT() फंक्शन के साथ ORDER BY का उपयोग करें। यह तब काम करता है जब संख्यात्मक भाग निश्चित लंबाई का हो या अंत में हो। उदाहरण: अंतिम 3 अंकों द्वारा सॉर्ट डेमो टेबल बनाएं: mysql> CREATE TABLE De

  1. - C में नेगेटिव नंबरों का मॉड्युलस

    C में % ऑपरेटर का परिणाम **पहले ऑपरेंड (डिविडेंड) का चिह्न** रखता है (C99 से मानकीकृत)। नियम (C99 और बाद में) (a / b) * b + (a % b) == a // भागफल (a/b) शून्य की ओर ट्रंकेट होता है // शेष (a%b) का चिह्न a के समान होता है उदाहरण #include <stdio.h> int main() { printf( 7 %% 3 = %d\n, 7