MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

मारियाडीबी LAST_INSERT_ID () समझाया गया

मारियाडीबी में, LAST_INSERT_ID() एक अंतर्निहित फ़ंक्शन है जो AUTO_INCREMENT के लिए सफलतापूर्वक डाला गया पहला स्वचालित रूप से जेनरेट किया गया मान देता है सबसे हाल ही में निष्पादित INSERT . के परिणामस्वरूप कॉलम बयान।

इसे तर्क के साथ भी बुलाया जा सकता है, इस मामले में, यह अभिव्यक्ति का मूल्य और अगली कॉल LAST_INSERT_ID() पर लौटाता है वही मान लौटाएगा।

सिंटैक्स

फ़ंक्शन को निम्नलिखित तरीकों से बुलाया जा सकता है:

LAST_INSERT_ID()
LAST_INSERT_ID(expr)

जहां expr लौटाया जाता है, और अगली कॉल LAST_INSERT_ID() . पर की जाती है वही मान लौटाएगा।

उदाहरण

उदाहरण के तौर पर, आइए एक AUTO_INCREMENT . के साथ एक टेबल बनाएं कॉलम:

CREATE TABLE guest (
  guest_id INT NOT NULL AUTO_INCREMENT,
  guest_name VARCHAR(255) NOT NULL,
  PRIMARY KEY (guest_id)
);

guest_id कॉलम AUTO_INCREMENT का उपयोग करता है इसके मूल्य के लिए।

अब कुछ पंक्तियाँ डालें:

INSERT INTO guest (guest_name) VALUES ('Homer');
INSERT INTO guest (guest_name) VALUES ('Bart');
INSERT INTO guest (guest_name) VALUES ('Marge');

अब चलिए LAST_INSERT_ID() चलाते हैं :

SELECT LAST_INSERT_ID();

परिणाम:

+------------------+
| LAST_INSERT_ID() |
+------------------+
|                3 |
+------------------+

यह 3 returns लौटाता है ।

अब, तालिका में सभी पंक्तियों को यह सत्यापित करने के लिए लौटाते हैं कि अंतिम पंक्ति में एक AUTO_INCREMENT है 3 . का मान डाला गया:

SELECT *
FROM guest;

परिणाम:

+----------+------------+
| guest_id | guest_name |
+----------+------------+
|        1 | Homer      |
|        2 | Bart       |
|        3 | Marge      |
+----------+------------+

guest_id कॉलम 3 . तक जाता है .

एक तर्क सहित

जैसा कि उल्लेख किया गया है, यदि तर्क के साथ बुलाया जाता है, तो फ़ंक्शन अभिव्यक्ति का मान और अगली कॉल LAST_INSERT_ID() पर लौटाता है वही मान लौटाएगा।

SELECT LAST_INSERT_ID(9);

परिणाम:

+-------------------+
| LAST_INSERT_ID(9) |
+-------------------+
|                 9 |
+-------------------+

अब इसे फिर से कॉल करें, लेकिन बिना किसी तर्क के:

SELECT LAST_INSERT_ID();

परिणाम:

+------------------+
| LAST_INSERT_ID() |
+------------------+
|                9 |
+------------------+

यह अभी भी 9 . का मान देता है ।

हालांकि, अगर हम अपने guest . में मान डालना जारी रखते हैं तालिका, AUTO_INCREMENT जारी रहेगा जहां उसने उस टेबल पर छोड़ा था:

INSERT INTO guest (guest_name) VALUES ('Lisa');

अब चलिए LAST_INSERT_ID() चलाते हैं :

SELECT LAST_INSERT_ID();

परिणाम:

+------------------+
| LAST_INSERT_ID() |
+------------------+
|                4 |
+------------------+

यह 4 returns लौटाता है ।

और यहाँ तालिका अब कैसी दिखती है:

SELECT *
FROM guest;

परिणाम:

+----------+------------+
| guest_id | guest_name |
+----------+------------+
|        1 | Homer      |
|        2 | Bart       |
|        3 | Marge      |
|        4 | Lisa       |
+----------+------------+

इस फ़ंक्शन के बारे में अधिक जानकारी के लिए, मारियाडीबी दस्तावेज़ीकरण देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गैलेरा क्लस्टर क्लाउड ऑफ़रिंग की तुलना करना:भाग एक अमेज़ॅन एडब्ल्यूएस

  2. SQL की शक्ति और प्रक्रियात्मक कथनों को MariaDB के Oracle संगतता मोड के साथ संयोजित करना

  3. मारियाडीबी लंबाई () समझाया गया

  4. कैसे CONV () मारियाडीबी में काम करता है

  5. मारियाडीबी में दिनांक और समय कार्यों के लिए उपयोग की जाने वाली भाषा सेट करें