पैरामीटर-ऑर्डर किए गए अपडेट

कच्चे SQL की अद्यतन क्वेरी में सेट क्लॉज है। यह मूल तालिका तालिका में दिए गए स्तंभ क्रम का उपयोग करके अद्यतन () निर्माण द्वारा प्रदान किया गया है। इसलिए, विशेष कॉलम के साथ एक विशेष अद्यतन स्टेटमेंट हर बार एक ही प्रदान किया जाएगा। चूंकि पैरामीटर खुद को पायथन डिक्शनरी कुंजियों के रूप में Update.values ​​() पद्धति में पारित करते हैं, इसलिए कोई अन्य निश्चित आदेश उपलब्ध नहीं है।

कुछ मामलों में, एसईटी क्लॉज में दिए गए मापदंडों का क्रम महत्वपूर्ण है। MySQL में, स्तंभ मानों को अपडेट प्रदान करना अन्य स्तंभ मानों पर आधारित है।

निम्नलिखित कथन का परिणाम -

UPDATE table1 SET x = y + 10, y = 20

की तुलना में एक अलग परिणाम होगा -

UPDATE table1 SET y = 20, x = y + 10

MySQL में SET क्लॉज का मूल्यांकन प्रति-मूल्य के आधार पर किया जाता है न कि प्रति-पंक्ति के आधार पर। इस उद्देश्य के लिए,preserve_parameter_orderप्रयोग किया जाता है। 2-टुपल्स की पायथन सूची को तर्क के रूप में दिया गया हैUpdate.values() विधि -

stmt = table1.update(preserve_parameter_order = True).\
   values([(table1.c.y, 20), (table1.c.x, table1.c.y + 10)])

सूची ऑब्जेक्ट शब्दकोश के समान है सिवाय इसके कि यह आदेश दिया गया है। यह सुनिश्चित करता है कि "y" कॉलम का SET क्लॉज पहले रेंडर करेगा, फिर "x" कॉलम का SET क्लॉज।