प्रश्न शीर्षक क्या कहता है। SELECT @@IDENTITY AS ins_id
जैसी क्वेरी के साथ, क्या मुझे तालिका का नाम या कोई अन्य जानकारी प्रदान करने की आवश्यकता है, यह निर्दिष्ट करने के लिए कि मैं किस तालिका/डेटाबेस के बारे में बात कर रहा हूं?PHP में एमएसएसक्यूएल में आईडी डालने के लिए कैसे?
उत्तर
@@IDENTITY
वर्तमान सत्र में उत्पन्न सबसे हाल की पहचान देता है। ज्यादातर मामलों में आप शायद SCOPE_IDENTITY
का उपयोग करना चाहते हैं, जो मौजूदा दायरे में उत्पन्न सबसे हालिया पहचान देता है।
उदाहरण के लिए, यदि आप table1 में एक पंक्ति सम्मिलित है, लेकिन उस डालने एक ट्रिगर जो table2 में एक पंक्ति सम्मिलित करता है आग, तो @@IDENTITY
पहचान से table2 वापस आ जाएगी, जबकि SCOPE_IDENTITY
से पहचान वापस आ जाएगी तालिका 1।
INSERT INTO my_table (my_column) VALUES ('test')
-- return the identity of the row you just inserted into my_table
-- regardless of any other inserts made by triggers etc
SELECT SCOPE_IDENTITY() AS ins_id
नहीं; यह mysql में SELECT LAST_INSERT_ID() की तरह काम करता है, जो अंतिम पहचान मान डाला जाता है। आप इसके बारे में चिंतित होने के बारे में अधिक जानकारी के लिए this in-depth examination पर एक नज़र डालना चाह सकते हैं।
यहां कुछ समय कोड कोड स्निपेट जूमला कोड पर आधारित है। $ dbh डेटाबेस कनेक्शन है (mssql_connect() का परिणाम)। यदि आप $ keyName तर्क पास करते हैं तो कुंजी नाम (आईडी) अपडेट किया जाता है।
यह कोड डालने वाले मान के आईडी (या किसी आवश्यक मूल्य) प्राप्त करने के लिए MSSQL कीवर्ड "OUTPUT" का उपयोग कर रहा है।
function mssql_insertObject($table, &$object, $keyName = NULL)
{
global $dbh;
if($keyName) {
$fmtsql = 'INSERT INTO '. $table .' (%s) OUTPUT INSERTED.' . $keyName . ' VALUES (%s) ';
}
else {
$fmtsql = 'INSERT INTO '. $table .' (%s) VALUES (%s) ';
}
$fields = array();
foreach (get_object_vars($object) as $k => $v) {
if (is_array($v) or is_object($v) or $v === NULL) {
continue;
}
if ($k[0] == '_') { // internal field
continue;
}
$fields[] = $k;
$values[] = "'" . str_replace("'", "''", $v) . "'";
}
$sql = sprintf($fmtsql, implode(",", $fields) , implode(",", $values));
$query = mssql_query($sql, $dbh);
if($query === false) {
return false;
}
if(is_resource($query))
{
if($keyName) {
$id = mssql_result($query, 0, 0);
if($id) {
$object->$keyName = $id;
}
}
mssql_free_result($query);
}
return true;
}
मुझे यह समाधान पसंद है क्योंकि मुझे लगता है कि यह आपके सभी अड्डों को कवर करता है क्योंकि आपको SCOPE_IDENTITY के साथ GUID (पीके) नहीं मिल सकता है .. लेकिन mskql_result का उपयोग करके आपके एसक्यूएल कथन में आउटपुट के साथ संयोजन में पीके के साथ काम करता है जो स्वत: वृद्धि वाले पूर्णांक या अद्वितीय होते हैं GUID की तरह डंक। – greaterKing
- 1. Django - अंतिम डालने आईडी
- 2. MySQL डीबी में डालने के लिए PHP पीडीओ कोड
- 3. PHP में ऑब्जेक्ट आईडी कैसे खोजें?
- 4. PHP ओडीबीसी कनेक्शन से अंतिम डालने आईडी प्राप्त करें
- 5. जेडीबीसी एमएसएसक्यूएल
- 6. PHP/पीडीओ/एमएसएसक्यूएल त्रुटि सूचनाएं कैसे प्राप्त करें?
- 7. एक एमएसएसक्यूएल ट्रिगर
- 8. grails में डालने के लिए एसक्यूएल क्वेरी
- 9. एक एमएसएसक्यूएल डेटाबेस में जेएसओएन संग्रहीत करना?
- 10. PHP फ़ाइल के साथ XML फ़ाइल में डेटा डालने
- 11. जेटीबल सेल में छवि डालने के लिए कैसे करें
- 12. DBF फ़ाइल (फॉक्सप्रो) में डालने के लिए कैसे
- 13. एक्सएचएलएमएल दस्तावेज़ में XUL डालने के लिए कैसे करें
- 14. कोडइग्निटर activerecord, अंतिम डालने आईडी पुनर्प्राप्त करें?
- 15. अंतिम डालने आईडी का चयन करें
- 16. MySQL ऑन डिप्लिकेट कुंजी - अंतिम डालने आईडी?
- 17. PHP में IMAP के साथ अद्वितीय ईमेल आईडी प्राप्त करना
- 18. एक HTML फॉर्म मान में एक php चर डालने
- 19. सिद्धांत 2 के साथ अंतिम डालने आईडी प्राप्त करें?
- 20. ऑटोइनक्रिकमेंट फ़ील्ड्स के लिए: आईडी (आईडी) बनाम आईडी 1 आईडी ऑर्डर आईडी आईडी
- 21. रेल देखें हेल्पर एचटीएमएल डालने में एचटीएमएल डालने में पेज
- 22. PHP - फॉर्म मेल डालने! और लंबी तारों में लाइन ब्रेक
- 23. कोई पंक्ति डालने के बिना अगली आईडी प्राप्त करना
- 24. विम: डालने में मोड
- 25. टेक्स्टबॉक्स में टैब डालने
- 26. php apc_fetch सभी आईडी
- 27. LINQ क्वेरी डेटाबेस में डेटा डालने के लिए
- 28. साजिश में फॉर्मूला डालने
- 29. php उपयोगकर्ता आईडी संग्रहित?
- 30. django में अतिरिक्त स्टार्टअप कोड डालने के लिए सही जगह?
मैं भी देखा है: का चयन करें कास्ट (COALESCE (SCOPE_IDENTITY(), @@ पहचान) पूर्णांक के रूप में) – jjwdesign
नीचे मतदान किया। मैं किसी भी php नहीं देखता, सवाल था "PHP में एमएसएसएलएल में सम्मिलित आईडी कैसे प्राप्त करें"। –