केवल AUTO_INCREMENT PRIMARY KEY वाली टेबल में INSERT करना
यदि टेबल में केवल एक ऑटो-इन्क्रीमेंट प्राइमरी की कॉलम है, तो NULL या DEFAULT पास करके पंक्ति डाल सकते हैं।
सिंटैक्स (दोनों समतुल्य)
INSERT INTO yourTableName SET yourColumnName = NULL; -- या INSERT INTO yourTableName VALUES (NULL);
उदाहरण
CREATE TABLE singleAutoIncrementColumnDemo (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
INSERT INTO singleAutoIncrementColumnDemo SET UserId = NULL;
INSERT INTO singleAutoIncrementColumnDemo VALUES (NULL);
परिणाम
+--------+ | UserId | +--------+ | 1 | | 2 | +--------+
वैकल्पिक: DEFAULT कीवर्ड (MySQL 8.0.13+)
INSERT INTO singleAutoIncrementColumnDemo VALUES (DEFAULT);
महत्वपूर्ण बिंदु
NULLपास करने पर MySQL अगला ऑटो-इन्क्रीमेंट मान जनरेट करता है।0पास करने पर भी यही व्यवहार होता है (यदिNO_AUTO_VALUE_ON_ZEROSQL मोड सक्षम नहीं है)।- कॉलम सूची निर्दिष्ट करना अनिवार्य नहीं है जब सभी कॉलम डिफ़ॉल्ट/ऑटो हों।
LAST_INSERT_ID()से अंतिम जनरेटेड आईडी प्राप्त करें।
बहु-पंक्ति INSERT
INSERT INTO singleAutoIncrementColumnDemo VALUES (NULL), (NULL), (NULL);
यह 3 पंक्तियां एक साथ डालेगा जिनके आईडी क्रमिक होंगे।