2011-01-18 9 views
6

मैं बस दिन में कई घटनाओं को स्टोर करने के लिए एक टेबल रखना चाहता हूं।MySQL एक क्वेरी में वृद्धि होने पर कैसे करें

एक मेज को देखते हुए:

create table totals (
    entryday date, 
    total int(11) default 0 not null, 
    primary key (entryday)); 

मैं एक साधारण क्वेरी जो वृद्धि कर देता है कैसे लिख सकते हैं, लेकिन एक आवश्यक बनाता है?

मैं इस कोशिश की - लेकिन यह (यह 1 पर बनी हुई है) incrementing नहीं है:

REPLACE totals SET total = total + 1, entryday = "08-01-11" 

जाहिर है यह काफी बस 2 प्रश्नों में किया जा सकता है, लेकिन JDBC के माध्यम से कॉल करता है और कई बार कहा जा सकता है यह है, तो 1 प्रश्न बेहतर होगा।

+0

आप परिणाम है कि आप प्राप्त करना चाहते हैं पोस्ट कर सकता है? – Jonathan

उत्तर

20

आप शायद ON DUPLICATE KEY हैं:

INSERT INTO totals (entryday, total) 
VALUES ("08-01-11", 1) 
ON DUPLICATE KEY UPDATE total = total + 1 

कि अगर एक पंक्ति पहले से ही उस तारीख के लिए मौजूद नहीं है 1 करने के लिए "08-01-11" total सेट और total द्वारा बढ़ा देते हैं 1 अगर ऐसा करता है।

+0

धन्यवाद, यह सिर्फ टिकट है! – Nick

0

मुझे यकीन है कि मैं अपने प्रश्न समझ में नहीं हूँ, लेकिन हो सकता है कि इस प्रश्न के अपने जवाब है:

update totals set total = total + 1 where entryday = "08-01-11" 
संबंधित मुद्दे