लेख निर्देशिका
MySQLअनुक्रम कैसे बनाएं?MySQL डेटाबेसएक ऑटो-इन्क्रीमेंटिंग सीक्वेंस स्टेटमेंट बनाएं
MySQL अनुक्रम उपयोग
MySQL अनुक्रम पूर्णांकों का एक सेट है: 1, 2, 3, ..., चूंकि डेटा तालिका में केवल एक फ़ील्ड ऑटो-इंक्रीमेंट प्राथमिक कुंजी हो सकती है, यदि आप अन्य फ़ील्ड्स की स्वचालित वृद्धि प्राप्त करना चाहते हैं, तो आप MySQL अनुक्रम का उपयोग कर सकते हैं प्राप्त करना।
इस अध्याय में हम वर्णन करेंगे कि MySQL अनुक्रमों का उपयोग कैसे करें।
AUTO_INCREMENT . का प्रयोग करें
MySQL में अनुक्रमों का उपयोग करने का सबसे आसान तरीका कॉलम को परिभाषित करने के लिए MySQL AUTO_INCREMENT का उपयोग करना है।
उदाहरण
डेटा तालिका कीट निम्न उदाहरण में बनाई गई है, जहां स्वचालित विकास के लिए कोई मान निर्दिष्ट नहीं है।
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
AUTO_INCREMENT मान प्राप्त करें
MySQL क्लाइंट में आप SQL में LAST_INSERT_ID () फ़ंक्शन का उपयोग तालिका में डाले गए अंतिम ऑटो-इन्क्रीमेंट किए गए कॉलम का मान प्राप्त करने के लिए कर सकते हैं।
तालिका में डाले गए अंतिम ऑटो-इंक्रीमेंट कॉलम का मान प्राप्त करने के लिए PHP या PERL स्क्रिप्ट में संबंधित कार्य भी प्रदान किए जाते हैं।
पर्ल उदाहरण
AUTO_INCREMENT का मान प्राप्त करने के लिए mysql_insertid गुण का उपयोग करें।उदाहरण इस प्रकार हैं:
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
पीएचपी उदाहरण
PHP mysql_insert_id() फ़ंक्शन के माध्यम से निष्पादित सम्मिलित SQL कथन में AUTO_INCREMENT कॉलम का मान प्राप्त करता है।
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
अनुक्रम रीसेट करें
यदि आप डेटा तालिका में कई रिकॉर्ड हटाते हैं और शेष डेटा के AUTO_INCREMENT कॉलम को पुनर्व्यवस्थित करना चाहते हैं, तो आप ऑटो-इंक्रीमेंटिंग कॉलम को हटाकर और फिर इसे फिर से जोड़कर ऐसा कर सकते हैं।हालांकि, अगर वहाँ है, तो इस ऑपरेशन को बहुत सावधान रहना होगा।हटाए जाने के साथ ही, नए रिकॉर्ड जोड़े जाते हैं, और डेटा भ्रम हो सकता है। संचालन इस प्रकार हैं:
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
अनुक्रम का प्रारंभ मान सेट करें
सामान्य तौर पर, अनुक्रम का प्रारंभिक मान 1 है, लेकिन यदि आपको 100 का प्रारंभिक मान निर्दिष्ट करने की आवश्यकता है, तो हम इसे निम्नलिखित कथन के साथ कर सकते हैं:
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
या तालिका के सफलतापूर्वक बनने के बाद आप निम्न कथन का भी उपयोग कर सकते हैं:
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
होप चेन वेइलियांग ब्लॉग ( https://www.chenweiliang.com/ ) साझा किया गया "MySQL एक अनुक्रम कैसे बनाता है? MySQL डेटाबेस सेल्फ-इंक्रीमेंटिंग सीक्वेंस स्टेटमेंट बनाने के लिए", आपकी मदद के लिए।
इस लेख का लिंक साझा करने के लिए आपका स्वागत है:https://www.chenweiliang.com/cwl-498.html
नवीनतम अपडेट प्राप्त करने के लिए चेन वेइलियांग के ब्लॉग के टेलीग्राम चैनल में आपका स्वागत है!
📚 इस गाइड में बहुत महत्व है, 🌟यह एक दुर्लभ अवसर है, इसे न चूकें! ⏰⌛💨
अच्छा लगे तो शेयर और लाइक करें!
आपका साझा करना और पसंद करना हमारी निरंतर प्रेरणा है!