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

MySQL में SQLServer फ़ंक्शन SCOPE_IDENTITY () के बराबर?

यह आप जो खोज रहे हैं वह है:

LAST_INSERT_ID()

ओपी की टिप्पणी के जवाब में, मैंने निम्नलिखित बेंच टेस्ट बनाया:

CREATE TABLE Foo
(
    FooId INT AUTO_INCREMENT PRIMARY KEY
);

CREATE TABLE Bar
(
    BarId INT AUTO_INCREMENT PRIMARY KEY
);

INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();

CREATE TRIGGER FooTrigger AFTER INSERT ON Foo
    FOR EACH ROW BEGIN
        INSERT INTO Bar () VALUES ();
    END;

INSERT INTO Foo () VALUES (); SELECT LAST_INSERT_ID();

यह रिटर्न:

+------------------+
| LAST_INSERT_ID() |
+------------------+
|                1 |
+------------------+

तो यह LAST_INSERT_ID() . का उपयोग करता है मूल तालिका की और तालिका की नहीं INSERT ट्रिगर के अंदर एड.

संपादित करें: इतने समय के बाद मुझे एहसास हुआ कि SELECT LAST_INSERT_ID() . का परिणाम मेरे उत्तर में दिखाया गया गलत था, हालांकि अंत में निष्कर्ष सही था। मैंने परिणाम को सही मान के रूप में अपडेट किया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL से चिपके रहने के 10 कारण

  2. MySQL से अंतिम N पंक्तियों का चयन करें

  3. MySQL स्लो क्वेरी को कैसे इनेबल करें MySQL में लॉग इन करें

  4. MySQL में लोकेशंस की पूरी सूची

  5. MySQL, MariaDB, PostgreSQL और MongoDB प्रबंधन पर बार बढ़ाना