मैं मान रहा हूँ कि आपका UPDATE
कथन स्वयं lastmodified
. की पुष्टि कर रहा है मान जो आपने अपने SELECT
. में पढ़ा है बयान के रूप में नौतरफा पता चलता है।
अगर lastmodified
एक DATE
है , तो एक संभावित दौड़ की स्थिति है यदि DATE
के बाद से एक ही सेकंड में एक ही पंक्ति में कई अपडेट हैं केवल दूसरे के लिए ग्रैन्युलैरिटी है। अगर lastmodified
एक TIMESTAMP
है , दूसरी ओर, जिस विंडो में दौड़ की स्थिति हो सकती है वह TIMESTAMP
के बाद से बहुत अधिक सीमित है उप-सेकेंड परिशुद्धता के 3 और 9 अंकों के बीच होगा (अधिकांश विंडोज़ मशीनों पर 3, अधिकांश यूनिक्स मशीनों पर 6)। यह असंभव नहीं है, हालांकि असंभव नहीं है कि आपके पास एक ही मिलीसेकंड या यहां तक कि एक ही माइक्रोसेकंड पर दो अपडेट होंगे। लेकिन यह अचूक नहीं है।
आप अंतिम संशोधित दिनांक के बजाय अनुक्रम-जनरेटेड मान का उपयोग कर सकते हैं। यह गारंटी दे सकता है कि आप एक अपडेट नहीं खोएंगे क्योंकि NOCYCLE अनुक्रम एक ही मान को दो बार वापस नहीं करेगा। लेकिन अगर आप उस रास्ते से नीचे जाते हैं, तो आप या तो प्रत्येक पंक्ति पर अंतिम अद्यतन तिथि होने का सूचना लाभ खो रहे हैं या आप तालिका की प्रत्येक पंक्ति में डेटा के कुछ अतिरिक्त बाइट्स संग्रहीत कर रहे हैं। आपके आवेदन के आधार पर इनमें से कोई भी ट्रेड-ऑफ इसके लायक हो सकता है या या तो इससे अधिक समस्याएं पैदा कर सकता है।