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

MySQL में MAX(col)+1 को उसी टेबल में डालना

सबक्वेरी से अगला आईडी मान डालना

INSERT ... SELECT के साथ MAX() + 1 का उपयोग करके उसी टेबल में अगला क्रमिक मान डाला जा सकता है।

तालिका और डेटा

mysql> CREATE TABLE DemoTable1484 (Id INT);
mysql> INSERT INTO DemoTable1484 VALUES(100), (175), (165), (145), (170);

MAX + 1 डालना

mysql> INSERT INTO DemoTable1484(Id) 
    -> SELECT MAX(Id) + 1 FROM DemoTable1484;
Query OK, 1 row affected (0.20 sec)

परिणाम

+------+
| Id   |
+------+
| 100  |
| 175  |
| 165  |
| 145  |
| 170  |
| 176  |  -- 175 + 1
+------+

चेतावनी: यह तरीका समवर्ती (concurrent) वातावरण में रेस कंडीशन पैदा कर सकता है। उत्पादन प्रणाली में AUTO_INCREMENT या सीक्वेंस/लॉक का उपयोग करें।

बेहतर विकल्प:

ALTER TABLE DemoTable1484 MODIFY Id INT AUTO_INCREMENT;
INSERT INTO DemoTable1484 VALUES (NULL); -- ऑटो जेनरेट
  1. - INSERT() फ़ंक्शन का उपयोग करके MySQL टेबल के कॉलम के मान में नई स्ट्रिंग कैसे डालें?

    इस उद्देश्य के लिए, हमें INSERT() फ़ंक्शन के पहले पैरामीटर यानी मूल स्ट्रिंग के स्थान पर कॉलम के नाम का उपयोग करना होगा। निम्नलिखित उदाहरण इसे प्रदर्शित करेगा: उदाहरण मान लीजिए हम Student टेबल के year_of_admission कॉलम के मानों के साथ /Old जोड़ना चाहते हैं तो हमें निम्नलिखित क्वेरी लिखनी होगी: mysq

  1. - MySQL ट्रिगर: दूसरी टेबल में पंक्ति डालना

    आइए पहले एक टेबल बनाते हैं। टेबल बनाने के लिए CREATE कमांड का उपयोग किया जाता है। ); Query OK, 0 rows affected (0.62 sec) आइए अब दूसरी टेबल बनाते हैं। ); Query OK, 0 rows affected (0.49 sec) अब, ट्रिगर बनाने का तरीका निम्नलिखित है। delimiter ; ट्रिगर बनाने के लिए, हमें डिलीमीटर बदलने की आवश्

  1. Python में MySQL डेटाबेस में INSERT के बाद ID कैसे प्राप्त करें? Python में MySQL डेटाबेस में INSERT के बाद ID कैसे प्राप्त करें?

    सबसे पहले, हमें नीचे दी गई आवश्यकताओं को पूरा करने की आवश्यकता है। निम्न पूर्वापेक्षाएँ हैं। हमें MySQL वर्जन 8.0.12 इंस्टॉल करना होगा। हमें Python वर्जन 3.6.3 (32 बिट) इंस्टॉल करना होगा। हमें pip कमांड की मदद से pymysql इंस्टॉल करना होगा। pip कमांड की मदद से pymysql इंस्टॉल करने के लिए। डेट