साइक्लाइट परिवर्तन तालिका एक बयान में बहुस्तरीय कॉलम जोड़ती है


159

क्या sqlite में एकल स्टेटमेंट में MULTIPLE कॉलम जोड़ना टेबल को बदलना संभव है? निम्नलिखित काम नहीं करेगा।

परिवर्तन तालिका परीक्षण कॉलम mycolumn1 पाठ जोड़ें, कॉलम mycolumn2 पाठ जोड़ें;

जवाबों:


311

नहीं, आपको उन्हें एक बार में जोड़ना होगा। SQLite के शीर्ष तालिका दस्तावेज़ के शीर्ष पर सिंटैक्स आरेख देखें :

वैकल्पिक सिंटैक्स

ADDशाखा में कोई लूप नहीं है इसलिए कोई पुनरावृत्ति की अनुमति नहीं है।


12
@JoshPinter: धन्यवाद, लेकिन मुझे लगता है कि SQLite डॉक्स में सिंटैक्स आरेख बहुत सारे क्रेडिट के लायक हैं, सिंटैक्स आरेख महान हैं, हर किसी को अपने डॉक्स में इनका उपयोग करना चाहिए।
म्यू बहुत छोटा है

यह उत्तर वास्तव में मददगार था। धन्यवाद।
जूलियन अल्बर्टो

0

@Mu से जवाब बहुत छोटा है 'सही है। अतिरिक्त के रूप में, SQL में लेनदेन के लाभ का उपयोग करके कई कॉलम जोड़ने के लिए एक अनुकूलित वर्कअराउंड जोड़ रहा है।

String alterTableQuery = "ALTER TABLE " + TABLE_NAME + " ADD COLUMN ";
List<String> newColumns = ..// Your new columns

db.beginTransaction();
for (String column : newColumns){
    db.execSQL(alterTableQuery + column +  " VARCHAR");
}
db.setTransactionSuccessful();
db.endTransaction();

मुझे उम्मीद है कि यह किसी की मदद करेगा।


0

केवल इतना संभव है कि मैं उपयोग करूं

BEGIN TRANSACTION;
ALTER TABLE tblName ADD ColumnNameA TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameB TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameC TEXT DEFAULT '';
COMMIT

ध्यान दें कि वहाँ हैं; क्वेरी को कई लाइनों के रूप में पढ़ने के उद्देश्य से।

फिर मैं इस क्वेरी को चलाता हूं और रन में जोड़े गए कई कॉलम मिलते हैं ... तो एक पंक्ति में नहीं, लेकिन एक क्वेरी में संभव है।


-16

परिवर्तन तालिका परीक्षण कॉलम mycolumn1 पाठ जोड़ें; परिवर्तन तालिका परीक्षण कॉलम mycolumn2 पाठ जोड़ें;

उपर्युक्त पुनर्निर्धारित क्वेरी का उपयोग करें


6
यह एक बयान नहीं है - ;एक विभाजक के रूप में कुछ भी कई बयानों के रूप में निष्पादित किया जाना चाहिए, और यह अक्सर मायने रखता है। अन्य उत्तर ने पहले ही प्रदर्शित कर दिया कि ओपी क्या पूछ रहा है, हालांकि यह असंभव है।
o11c
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.