2011-07-09 12 views
5

Ive ने इस प्रश्न से कई बार पूछा और अभी तक एक पूर्ण उत्तर प्राप्त करने के लिए ... डेटाबेस में कॉलम जोड़ने के लिए आप ALTER तालिका कथन को कैसे कार्यान्वित करें। क्या कोई मुझे एक उदाहरण दे सकता है?वैकल्पिक तालिका को लागू करने का उदाहरण

+3

क्या आपने अपने प्रश्न की पिछली टिप्पणियों और उत्तरों को देखा है? –

उत्तर

16

कृपया SQLite ALTER TABLE reference, और इस Android SQLite article पढ़ें:

database.execSQL("ALTER TABLE " + your_table_name + " ADD COLUMN " + new_col_name + " int"); 
+0

इसका स्टिल मुझे बता रहा है कि कॉलम मौजूद है। – yoshi24

+0

@Override \t \t \t सार्वजनिक शून्य OnCreate (SQLiteDatabase डाटाबेस) { \t \t \t db.execSQL (DATABASE_CREATE); \t \t \t \t \t db.execSQL ("परिवर्तन तालिका" + Database_Name + "स्तंभ जोड़ें" + KEY_STATUS + "पाठ"); यह काम करता है। अभी भी त्रुटि कॉलम स्थिति मौजूद नहीं है – yoshi24

1
ALTER TABLE db_name.mytable ADD COLUMN column_name VARCHAR(30) 

SQLite के लिए है यही कारण है कि। अन्य डेटाबेस आपको यह निर्दिष्ट करने की अनुमति दे सकते हैं कि कॉलम कहां रखा जाता है, लेकिन SQLite के साथ यह अंत तक जोड़ा जाता है।

संपादित करें: मैंने इसके बारे में कुछ और सोचा था। आपके प्रश्न में आपने एक पूर्ण उत्तर मांगा है। और किसी ने पहचाना है कि आपने यह पूछने से पहले केवल 5 घंटे पहले ही एक ही प्रश्न पूछा था। इस बात को ध्यान में रखते हुए कि उस पिछले धागे में कोई भी प्रतिक्रिया जो आप खोज रहे थे (उनमें से कुछ पूर्ण SQL उदाहरणों की पेशकश करने के बावजूद), यह मुझे मारता है कि एक पूर्ण उत्तर में SQL से कुछ और वेब ट्यूटोरियल के कुछ लिंक शामिल होना चाहिए।

पूर्ण और पूर्ण होने के प्रयास में, मुझे सुझाव है कि आप निम्नलिखित पुस्तकों पर विचार करें: Using SQLite (O'Reilly), और Learning Android (O'Reilly)। वास्तव में, उत्तरार्द्ध में एक अध्याय (अध्याय 9) है जो Android डेटाबेस वातावरण को समर्पित है, जिसका अर्थ है एंड्रॉइड के SQLite के कार्यान्वयन।

जिन लोगों के पास डेटाबेस, प्रोग्रामिंग के साथ और विविध ऑपरेटिंग सिस्टम के साथ बहुत अधिक अनुभव है, वे अक्सर वेब मैनुअल और स्टैक ओवरव्लो जैसी साइटों पर कुछ सुझाव प्राप्त कर सकते हैं। लेकिन हममें से बाकी के लिए (स्वयं शामिल), जब मैं वास्तव में एक विषय सीखना चाहता हूं जिसे मैं अपने लिए महत्वपूर्ण मानता हूं, तो मैं अपने साथ कुछ अच्छी किताबों में विसर्जित करता हूं।

मुझे आशा है कि आप, या कोई अन्य जो इस तरह के विषयों से शुरू हो रहा है, इस सलाह को सहायक पाएं।

+0

धन्यवाद! तो मैं इसे अपने डेटाबेस में कहां लागू कर सकता हूं? – yoshi24

+0

यह आप पर निर्भर है। आप वह हैं जिन्हें कॉलम की आवश्यकता है। :) इसके अलावा, डेटाटाइप वैध SQLite प्रकारों में से कोई भी हो सकता है। जरूरी नहीं VARCHAR। INTEGER, टेक्स्ट, CHAR, आदि। मैंने टेम्पलेट टेक्स्ट के रूप में 'db_name.mytable' का भी उपयोग किया। आपको अपना खुद का डेटाबेस नाम और टेबल नाम का उपयोग करना होगा। 'Column_name' के लिए वही। – DavidO

+0

@Override \t \t \t सार्वजनिक शून्य OnCreate (SQLiteDatabase डाटाबेस) { \t \t \t db।execSQL (DATABASE_CREATE); \t \t \t \t \t वैकल्पिक तालिका nba.bookList COLUMN KEY_STATUS टेक्स्ट जोड़ें; क्या ये सही है? – yoshi24

1

मैंने अभी इसका सामना किया है और बार-बार कोशिश की है और कॉलम के बारे में वर्णित अपवाद मिला है, तालिका तालिका में बदलाव के बावजूद कोई अपवाद नहीं फेंक दिया गया है।

दो घंटे के प्रयास करने के बाद, फ़ाइल बैकअप संग्रहण स्थापित करना, और जो कुछ भी व्यवहार्य लग रहा था, मुझे एहसास हुआ कि मैंने "चयन क्वेरी" में नया कॉलम शामिल नहीं किया है, लेकिन फिर भी डेटा से डेटा निकालने का प्रयास किया कर्सर, इसलिए कॉलम अपवाद मौजूद नहीं है।

+0

आपके कोड के माध्यम से सभी तरह से परिवर्तनों का पालन करने के लिए अच्छा अनुस्मारक, –

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