2014-11-14 9 views
13

मैं डीबी पर केवल एक रिकॉर्ड कैसे अपडेट कर सकता हूं?SQL सर्वर डेटाबेस में केवल एक पंक्ति को अद्यतन करने के लिए कैसे?

तालिका:

name  name1  name2 
---------------------------- 
xx   xy   xz 
xx   xx   xx 
xx   xx   xx 
xx   xx   xx 
xy   xx   zz 

अद्यतन क्वेरी:

UPDATE table1 
SET name2 = '01' 
WHERE name1='xx' 

लेकिन मैं समय

+0

बस अपने 'WHERE' खंड में तालिका के लिए प्राथमिक कुंजी का संदर्भ लें - एक चीज जो ** विशिष्ट रूप से ** संदर्भित करती है और आपकी तालिका में ** प्रत्येक पंक्ति ** की पहचान करती है .... –

+0

आपके मामले में संभव नहीं है। – Rahul

+0

आप अपनी तालिका में प्राथमिक कुंजी क्यों नहीं जोड़ रहे हैं? – Mukund

उत्तर

33

आप ROWCOUNT

SET ROWCOUNT 1 

UPDATE table1 
SET name2 = '01' 
WHERE name1='xx' 

SET ROWCOUNT 0 

उपयोग कर सकते हैं या आप अद्यतन शीर्ष

UPDATE TOP (1) table1 
SET name2 = '01' 
WHERE name1='xx' 
+1

क्या आप इस विषय को जोड़ सकते हैं कि 'TOP (1)' 'TOP 1' के रूप में क्यों नहीं लिखा गया है? :) – Zero3

+0

अभिभावक केवल चयन कथन में वैकल्पिक हैं। इसका कारण पिछड़ा संगतता है। –

+0

@s_f यह सुनिश्चित नहीं है कि यह एसएसएमएस 2016 के रूप में सच है, तो मुझे यह करने की अनुमति नहीं होगी – sparkyShorts

-4

अगर आप समय के अनुसार एक पंक्ति को अद्यतन चाहते प्रति केवल एक पंक्ति को अद्यतन की जरूरत है, एक को जोड़ने के लिए प्रयास करें प्रत्येक पंक्ति की पहचान करने के लिए आपकी तालिका में पहचान कॉलम।

+0

नाम से कुछ आदेश? – Klapsius

+0

मुझे नहीं लगता कि ऑर्डर से आपकी मदद मिलेगी क्योंकि वहां और अधिक पंक्ति है जो इस शर्त को पूरा करती है। – Dotnetter

-4

उपयोग कर सकते हैं तुम बस क्वेरी के अंत में सीमा 1 जोड़ सकते हैं।

+0

'' LIMIT 'के पास गलत वाक्यविन्यास। – Zero3

+0

एसक्यूएल सर्वर LIMIT का समर्थन नहीं करता है – Luca

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