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

MySQL में SELECT @@identity क्या करता है?

@@identity से वर्तमान सत्र का अंतिम AUTO_INCREMENT मान प्राप्त करना

@@identity सिस्टम वेरिएबल वर्तमान कनेक्शन/सत्र में AUTO_INCREMENT कॉलम में डाला गया अंतिम मान लौटाता है। यह LAST_INSERT_ID() के समान है लेकिन सत्र-विशिष्ट है।

टेबल और डेटा

mysql> CREATE TABLE DemoTable(
    UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName VARCHAR(100)
);
Query OK, 0 rows affected (0.67 sec)
mysql> INSERT INTO DemoTable(UserName) VALUES('David');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable(UserName) VALUES('Mike');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(UserName) VALUES('Carol');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable(UserName) VALUES('Robert');
Query OK, 1 row affected (0.24 sec)
mysql> INSERT INTO DemoTable(UserName) VALUES('John');
Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+--------+----------+
| UserId | UserName |
+--------+----------+
| 1      | David    |
| 2      | Mike     |
| 3      | Carol    |
| 4      | Robert   |
| 5      | John     |
+--------+----------+
5 rows in set (0.00 sec)

@@identity का उपयोग

mysql> SELECT @@identity;

परिणाम:

+------------+
| @@identity |
+------------+
| 5          |
+------------+
1 row in set (0.00 sec)

महत्वपूर्ण अंतर: @@identity वर्तमान सत्र का अंतिम मान देता है। LAST_INSERT_ID() भी समान है लेकिन स्टेटमेंट-स्तर पर सुरक्षित है (ट्रिगर द्वारा डाले गए मान से प्रभावित नहीं होता)। अधिकांश मामलों में LAST_INSERT_ID() प्राथमिकता दी जाती है।

  1. - MySQL SELECT (COLNAME) में पैरेंथेसिस का क्या अर्थ है?

    MySQL में SELECT (COLNAME) का उपयोग उस कॉलम के लिए एक उपनाम (alias) बनाने के लिए किया जाता है। आइए एक उदाहरण देखते हैं और एक टेबल बनाते हैं: mysql> create table DemoTable865( FirstName varchar(100), LastName varchar(100) ); Query OK, 0 rows affected (0.77 sec) इन्सर्ट कमांड का उपयोग

  1. - MySQL में "SELECT TRUE" क्या है?

    स्टेटमेंट SELECT TRUE पंक्ति मिलने पर 1 लौटाता है। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable(Name varchar(100)); Query OK, 0 rows affected (0.54 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris); Query OK, 1 row affecte

  1. - MySQL में कॉलम मानों से बेतरतीब ढंग से 2 मान चुनें?

    बेतरतीब ढंग से चुनने के लिए ORDER BY RAND() का उपयोग करें। MySQL में केवल 2 मान चुनने के लिए LIMIT 2 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1815 ( Question text ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: my