2012-10-05 10 views
15

मौजूदा मान में मूल्य जोड़ने के लिए फ़ील्ड को कैसे अपडेट करें?
उदाहरण के लिए मेरे पास हैमौजूदा मान में मूल्य जोड़ने के लिए फ़ील्ड को कैसे अपडेट करें?

तालिका नाम: table

id credit 
1  4 
2  5 
3  3 

वहाँ एक रास्ता बस क्रेडिट करने के लिए मूल्य जोड़ने के लिए है?

UPDATE table SET credit = '+7' WHERE id='1' 

जैसे मैं 4 से 7 जोड़ना चाहते हैं ताकि क्रेडिट = 11 जहां आईडी = '1'
यह कैसे करना है?

+3

मेरा की तुलना में अपने को स्वीकार कर लिया जवाब के बीच अंतर क्या है? –

उत्तर

37
UPDATE table SET credit = credit + 7 WHERE id = 1 
+0

हे ... मैंने कभी इस बारे में सोचा नहीं। : डी – gumuruh

15

यह सिर्फ एक साधारण UPDATE है। निम्नलिखित कोशिश करें।

UPDATE tableName 
SET Credit = Credit + 7 
WHERE ID = 1 

ध्यान दें कि ID = 1 और ID = '1' में ही है के रूप में सर्वर स्वचालित रूप से यह पार्स करता है।

+0

आईडी = 1 में '1' को '1 =' में 'आईडी =' 1'' जैसे एकल कोट में रखना अच्छा विचार नहीं है, ताकि आईडी मान परिभाषित नहीं होने पर कोई क्वेरी त्रुटि न फेंक दे? – WatsMyName

+1

सर्वर स्वचालित रूप से उस मान को पार करता है: डी –

10

सीधे शब्दों में UPDATE बयान में credit = credit + 7 बजाय credit = '+7' का उपयोग

UPDATE tablename SET credit = credit + 7 WHERE id = 1 

See this SQLFiddle

7

इस कोड

UPDATE table SET credit = credit + 7 WHERE id='1' 
3

बस इस कोशिश का प्रयास करें ...

UPDATE table SET credit = credit + 7 WHERE id = 1 
1

अच्छी तरह से '+' एक ऑपरेटर है इसलिए आपको आवश्यक पैरामीटर प्रदान करने की आवश्यकता है। '+' ऑपरेटर हम वाक्य रचना

value1+value2 

साथ यह को दो पैरामीटर प्रदान करने के लिए ही यह '+7' लिख आप केवल एक भेज रहे हैं द्वारा कई डेटा प्रकार के मापदंडों का समय लग सकता की जरूरत है इस प्रकार एक द्विआधारी ऑपरेटर है स्ट्रिंग मान "+7" अपने पिछले मूल्य

तो यू बेहतर उपयोग करने की जगह

UPDATE table SET credit = '+7' WHERE id='1' 

भ्रमित न करें '+' अन्य वेतन वृद्धि ऑपरेटरों

साथ ऑपरेटर
1

मैं इसे 'ऑन डिप्लिकेट कुंजी अपडेट' उदाहरण (@ hims056 द्वारा उत्तर के आधार पर) में जोड़ना चाहता था। मुझे यह जवाब मिला लेकिन 'डीयूपी पर ...' की जरूरत है, इसलिए मुझे लगा कि यह यहां भी पोस्ट कर सकता है।

INSERT INTO table1 
(`id`, `credit`) 
VALUES (1, 4) 
ON DUPLICATE KEY UPDATE 
`credit` = `credit` + 7; 

See the SQL Fiddle here

+1

पोस्ट के लिए धन्यवाद। आपने मेरा दिन बचाया! – Razvi

संबंधित मुद्दे