हां। आपके पास एक ही टेबल में कई ऑटो-इन्क्रीमेंट फ़ील्ड नहीं हो सकते हैं।
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
. में दिया है बयान। मुश्किल मामला तब होगा जब कोई ट्रिगर या कुछ मूल्य को ओवरराइड कर देगा।