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

MySQL कंपाउंड कुंजी के लिए LAST_INSERT_ID() चुनें। क्या यह संभव है?

हां। आपके पास एक ही टेबल में कई ऑटो-इन्क्रीमेंट फ़ील्ड नहीं हो सकते हैं।

CREATE TABLE foo (
  id1 int(11) NOT NULL auto_increment,
  id2 int(11) NOT NULL default '0',
  PRIMARY KEY  (id1, id2)
);

INSERT INTO foo VALUES (DEFAULT, 2);

SELECT LAST_INSERT_ID(); -- returns 1, the value generated for id1

LAST_INSERT_ID() केवल AUTO_INCREMENT declared घोषित कॉलम के लिए मान लौटाता है . कंपाउंड प्राथमिक कुंजी में मान वापस करने के लिए कोई फ़ंक्शन नहीं है जो नहीं था सिस्टम द्वारा उत्पन्न। आपको वह मान पहले ही पता होना चाहिए, क्योंकि आपने इसे अभी एक INSERT . में दिया है बयान। मुश्किल मामला तब होगा जब कोई ट्रिगर या कुछ मूल्य को ओवरराइड कर देगा।




  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 में रिकॉर्ड के अनुक्रमिक संग्रह को कैसे रिकॉर्ड करें

  2. PHP/MySQL अपॉइंटमेंट/बुकिंग सिस्टम के लिए सर्वोत्तम अभ्यास

  3. jOOQ में एक अस्थायी तालिका स्तंभ नाम योग्यता प्राप्त करना

  4. MySQL DATETIME फ़ील्ड से स्ट्रिंग के साथ DATE स्ट्रिंग की तुलना करें

  5. MySQL:एक संग्रहीत कार्यविधि में एकाधिक चरों में एकाधिक फ़ील्ड का चयन करना