2012-09-24 8 views
9

lastInsertId() उन तालिकाओं के लिए कैसे काम करता है जिनमें ऑटो-वृद्धि वाले फ़ील्ड नहीं हैं? टेबल के बारे में क्या है जहां प्राथमिक कुंजी 2 फ़ील्ड से बना है?अंतिम InsertId() स्वत: वृद्धि वाले फ़ील्ड के बिना टेबल के लिए कैसे काम करता है?

(मैं MySQL के साथ काम कर रहा हूँ)

उत्तर

2

उपर्युक्त दोनों मामलों में यह 0 वापस आ जाएगा।

एक auto_increment कॉलम का उपयोग करते समय, यह अंतिम INSERT आईडी वापस लौटाएगा, भले ही यह निर्दिष्ट किया गया हो (यानी ऑटो वृद्धि का उपयोग नहीं किया गया था)।

यह कहना है कि ऑटो वृद्धि का उपयोग करते समय आपको केवल lastInsertId का उपयोग करना चाहिए। यह वास्तव में इसका उपयोग करने के लिए समझ में नहीं आता है अन्यथा आपको समय से पहले की चाबियों को जानना होगा ..

1

मुझे नहीं लगता कि के रूप में यह एक समारोह विशेष रूप से एक AUTO_INCREMENT फ़ील्ड का मान पुनः प्राप्त किये जाने के लिए बनाया गया है यह करता है।

http://php.net/manual/en/function.mysql-insert-id.php

mysql_insert_id

Retrieves the ID generated for an AUTO_INCREMENT column by the previous query (usually INSERT).

बात इस प्रकार का परीक्षण करने के लिए बहुत आसान है - आप को देखने के लिए कि क्या होता है यह कोशिश की है?

संबंधित मुद्दे