SQLite - एक निश्चित संख्या से मूल्य में वृद्धि


93

क्या अंतिम मूल्य को पढ़े और बाद में इसे अपडेट किए बिना किसी निश्चित संख्या के द्वारा तालिका में एक निश्चित मूल्य में वृद्धि संभव है?

यानी मेरे पास कॉलम "उत्पाद" और "गुणवत्ता" है: उत्पाद: iLamp गुणवत्ता: 50

मैं x द्वारा गुणवत्ता (या घटाना) बढ़ाना चाहता हूं। इसे प्राप्त करने के लिए मैं पहले अंतिम मूल्य (50) पढ़ रहा हूं, इसे बढ़ा रहा हूं या घटा रहा हूं, और इसे वापस लिख रहा हूं।

क्या इस कार्य को पूरा करने का एक सीधा तरीका है?

जवाबों:


201

नमूना 1 (सभी पंक्तियों के लिए):

UPDATE Products SET Price = Price + 50

नमूना 2 (एक विशिष्ट पंक्ति के लिए):

UPDATE Products SET Price = Price + 50 WHERE ProductID = 1

नमूना 3 (सामान्य):

UPDATE {Table} SET {Column} = {Column} + {Value} WHERE {Condition}

कहाँ पे:

  • {Table} - तालिका नाम
  • {Column} - आम नाम
  • {Value} - एक संख्या जिसके आधार पर स्तंभ का मान बढ़ाया या घटाया जाना चाहिए
  • {Condition} - कुछ शर्त यदि कोई हो

3
एक SQLite कीवर्ड क्या है? डॉक्स इसे इंगित नहीं करते हैं। sqlite.org/lang_update.html
जेसन एस

यह sqlite3 के साथ अजगर में कैसे किया जा सकता है? मुझे एक कॉलम + = 1 अपडेट करना होगा जहां पहले कॉलम में =?
21.25 बजे st.ph.n

@ user3358205: जैसा आदमी कहता है ...UPDATE table SET col = col + 1 WHERE first_column = ?
Mumbleskates

मानदंडों की सूची में वृद्धि करने के लिए , कुछ इस तरह करेंUPDATE Products SET Price = Price + 50 WHERE [ProductID] IN [1,3,56,78,44,23,8989,23]
zelusp

@Konstantin क्या किसी स्तंभ के सभी पंक्ति मूल्य को वृद्धिशील रूप से बढ़ाना संभव है? कहें कि यदि मौजूदा पंक्तियाँ "R, S, T" हैं तो यह 'R1, S2, T3' होनी चाहिए। कोई उपाय ?
CoDe
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.