क्या sqlite में एकल स्टेटमेंट में MULTIPLE कॉलम जोड़ना टेबल को बदलना संभव है? निम्नलिखित काम नहीं करेगा।
परिवर्तन तालिका परीक्षण कॉलम mycolumn1 पाठ जोड़ें, कॉलम mycolumn2 पाठ जोड़ें;
क्या sqlite में एकल स्टेटमेंट में MULTIPLE कॉलम जोड़ना टेबल को बदलना संभव है? निम्नलिखित काम नहीं करेगा।
परिवर्तन तालिका परीक्षण कॉलम mycolumn1 पाठ जोड़ें, कॉलम mycolumn2 पाठ जोड़ें;
जवाबों:
नहीं, आपको उन्हें एक बार में जोड़ना होगा। SQLite के शीर्ष तालिका दस्तावेज़ के शीर्ष पर सिंटैक्स आरेख देखें :
ADD
शाखा में कोई लूप नहीं है इसलिए कोई पुनरावृत्ति की अनुमति नहीं है।
@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();
मुझे उम्मीद है कि यह किसी की मदद करेगा।
केवल इतना संभव है कि मैं उपयोग करूं
BEGIN TRANSACTION;
ALTER TABLE tblName ADD ColumnNameA TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameB TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameC TEXT DEFAULT '';
COMMIT
ध्यान दें कि वहाँ हैं; क्वेरी को कई लाइनों के रूप में पढ़ने के उद्देश्य से।
फिर मैं इस क्वेरी को चलाता हूं और रन में जोड़े गए कई कॉलम मिलते हैं ... तो एक पंक्ति में नहीं, लेकिन एक क्वेरी में संभव है।
परिवर्तन तालिका परीक्षण कॉलम mycolumn1 पाठ जोड़ें; परिवर्तन तालिका परीक्षण कॉलम mycolumn2 पाठ जोड़ें;
उपर्युक्त पुनर्निर्धारित क्वेरी का उपयोग करें
;
एक विभाजक के रूप में कुछ भी कई बयानों के रूप में निष्पादित किया जाना चाहिए, और यह अक्सर मायने रखता है। अन्य उत्तर ने पहले ही प्रदर्शित कर दिया कि ओपी क्या पूछ रहा है, हालांकि यह असंभव है।