2011-09-15 17 views
5

एक मेज मैं इस तरह से कर सकते हैं के लिए:क्या mysql में मौजूदा दृश्य में कॉलम जोड़ने का कोई तरीका है?

ALTER TABLE table_name 
ADD column_name datatype 

लेकिन यह किसी मौजूदा दृश्य पर लागू नहीं होता। मुझे आश्चर्य है कि इसे हल करने का कोई तरीका है या नहीं?

उत्तर

7

दृश्य को संपादित करने के लिए ऑल्टर व्यू कथन का उपयोग करें। वर्तमान दृश्य में मौजूदा SQL कथन का उपयोग करें, और अंत में कॉलम जोड़ें।

http://dev.mysql.com/doc/refman/5.0/en/alter-view.html

वास्तविक डॉक्स की तुलना में अधिक विस्तृत विवरण यहां पाया जा सकता:

http://www.roseindia.net/mysql/mysql5/views.shtml

संपादित करें -

एक दृश्य जोड़ा कर सकते हैं एक मौजूदा टेबल से केवल प्रदर्शन डेटा। आपको तालिका में कॉलम जोड़ना होगा और फिर इसे दिखाने के लिए दृश्य को संशोधित करना होगा।

इस बारे में सोचें: एक दृश्य टेबल में मौजूदा डेटा को देखने का एक तरीका है। टेबल्स असली डेटा धारक हैं।

ऊपर दिए गए पैटर्न के लिए एकमात्र अपवाद है कि मैं सोच सकता हूं कि आपके पास एक दृश्य पर कॉलम हो सकता है जो गणना या स्ट्रिंग विवाद जैसी गणना के परिणामों से भरा हुआ है। उदाहरण के लिए, EmployeeID, प्रथम नाम और अंतिम नाम कॉलम युक्त तालिका ...

आप एक ऐसा दृश्य इस तरह दिखता है हो सकता है पर विचार करें:

Create View FullNames AS 
Select EmployeeId, firstname + ' ' + lastname AS FullName from Employees 

उस मामले में, मैं की तरह कर रहा हूँ एक जोड़ने स्तंभ जो तालिका में मौजूद नहीं है - पूर्ण नाम। यह तालिका डेटा के आधार पर एक गणना मूल्य है। हालांकि, यह अभी भी teh डीबी में संग्रहीत डेटा पर आधारित है।

+1

मैं समझता हूं कि वे एक मौजूदा दृश्य में कॉलम कैसे जोड़ते हैं, लेकिन वे "चयन" कथन का उपयोग करते हैं, जिसका अर्थ है कि कॉलम किसी अन्य तालिका से होना चाहिए। मेरा मतलब यह है कि क्या मैं तालिका के अंदर तालिका तालिका में बदलाव के रूप में एक नया नया कॉलम दृश्य के अंदर बना सकता हूं? – root

+0

मैं एक दृश्य में कॉलम जोड़ने का एक तरीका ढूंढ रहा था (मान लीजिए कि कॉलम अंतर्निहित तालिका में पहले से मौजूद है)। मुझे नहीं लगता था कि यह संभव था हालांकि जटिल जटिलताओं और इस तरह के विचारों के आधार पर विचारों को शुरू करने के बाद यह वास्तव में समझ में नहीं आता है। –

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

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