मेरे पास एक प्रश्न है जो लगातार कई उपयोगकर्ताओं द्वारा निष्पादित किया जा सकता है। मुझे डर है कि अगर मैं db_last_insert_id कमांड चलाता हूं, तो कुछ उपयोगकर्ताओं को समवर्तीकरण के कारण अंतिम प्रविष्टि आईडी नहीं मिल सकती है। लेकिन इसके अनुसार: http://api.drupal.org/api/function/db_last_insert_id/6, यह बताता है:एसक्यूएल अंतिम डालने। क्या यह वास्तव में थ्रेडसेफ है?
अंतिम डालने आईडी लौटाता है। यह फ़ंक्शन थ्रेड सुरक्षित है।
मेरा सवाल है, यह धागा सुरक्षित कैसे है? कोड केवल है:
<?php
function db_last_insert_id($table, $field) {
return db_result(db_query("SELECT CURRVAL('{". db_escape_table($table) ."}_". db_escape_table($field) ."_seq')"));
}
?>
मुझे तालिकाओं को लॉक करने या कुछ भी नहीं देखने के बारे में कुछ भी नहीं दिख रहा है?
database.mysql-common.inc
में
function db_last_insert_id($table, $field) {
return db_result(db_query('SELECT LAST_INSERT_ID()'));
}
और LAST_INSERT_ID()
पर निर्भर करता है:
धन्यवाद। काश मैं आपको दस यूपीएस दे सकता हूं। – coderama
आपका स्वागत है :-) हुहू ^^ आपको 10 अन्य प्रश्न पूछना होगा, जिसके लिए मुझे जवाब पता है :- डी –