MySQL में AUTO_INCREMENT कॉलम में NULL, 0, DEFAULT डालकर मान पुनर्लेखन से बचें
MySQL में AUTO_INCREMENT कॉलम में मान डालते समय, NULL, 0, या DEFAULT कीवर्ड का उपयोग करके MySQL को स्वचालित रूप से अगला अनुक्रम मान जनरेट करने दें। यह स्पष्ट मान प्रदान करने की आवश्यकता से बचाता है और कोड सरल रखता है।
सिंटैक्स
INSERT INTO table_name (auto_inc_col, other_col) VALUES (NULL, 'value');
INSERT INTO table_name (auto_inc_col, other_col) VALUES (0, 'value');
INSERT INTO table_name (auto_inc_col, other_col) VALUES (DEFAULT, 'value');
या कॉलम सूची से ऑटो-इंक्रीमेंट कॉलम को **बाहर रखें**:
INSERT INTO table_name (other_col) VALUES ('value');
व्यावहारिक उदाहरण
टेबल बनाएं:
mysql> CREATE TABLE DemoTable1350 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName VARCHAR(20)
);
तीनों तरीकों से डालें
mysql> INSERT INTO DemoTable1350 VALUES(NULL, 'Chris');
mysql> INSERT INTO DemoTable1350 VALUES(0, 'Chris');
mysql> INSERT INTO DemoTable1350 VALUES(DEFAULT, 'Chris');
परिणाम देखें:
mysql> SELECT * FROM DemoTable1350;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1 | Chris |
| 2 | Chris |
| 3 | Chris |
+-----------+-------------+
तीनों तरीकों की तुलना
मान
व्यवहार
पठनीयता
पोर्टेबिलिटी
NULL
अगला अनुक्रम मान
अच्छी (स्पष्ट इरादा)
मानक SQL
0
अगला अनुक्रम मान
कम स्पष्ट
MySQL-विशिष्ट
DEFAULT
डिफ़ॉल्ट मान (AUTO_INCREMENT = अगला)
बहुत स्पष्ट
मानक SQL
कॉलम छोड़ें
डिफ़ॉल्ट मान
सबसे साफ
मानक SQL
सर्वोत्तम अभ्यास: कॉलम सूची में शामिल न करें
INSERT INTO DemoTable1350 (StudentId, StudentName) VALUES (100, 'Chris');
आंतरिक व्यवहार
MySQL आंतरिक काउंटर रखता है (आमतौर पर अधिकतम मान + 1)
NULL/0/DEFAULT → काउंटर से अगला मान लें, काउंटर बढ़ाएं
स्पष्ट मान > वर्तमान काउंटर → काउंटर उस मान + 1 पर सेट हो जाता है
LAST_INSERT_ID() अंतिम जनरेट किया गया मान लौटाता है
आइए समझते हैं कि Apache के साथ MySQL का उपयोग कैसे करें:
Apache एक वेब सर्वर सॉफ़्टवेयर है जिसे Apache सॉफ़्टवेयर फाउंडेशन द्वारा विकसित और रखरखाव किया जाता है। यह एक सॉफ़्टवेयर है जो वेब पेज एक्सेस करने के लिए उपयोगकर्ता से अनुरोध लेता है।
HTTP अनुरोध पर कुछ सुरक्षा जांच की जाती है और फिर उपयोगक
आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें:
AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें:
क्वेरी
CREATE TABLE tableName (
id
आइए समझते हैं कि AUTO_INCREMENT कैसे काम करता है:
AUTO_INCREMENT विशेषता का उपयोग नई रो के लिए एक अद्वितीय पहचानकर्ता उत्पन्न करने के लिए किया जाता है। आइए देखें कि यह स्टेटमेंट कैसे काम करता है। उससे पहले, नीचे दी गई क्वेरी पर विचार करें:
क्वेरी
CREATE TABLE tableName (
id MEDIUMINT NOT NULL