2012-09-01 21 views
5

मैं SQLite में इन्टरर्ट या रीप्लेस सिंटैक्स को अब तक कोई सफलता नहीं दे रहा हूं क्योंकि कोई पंक्तियां डाली नहीं गई हैं।एंड्रॉइड SQLite INSERT या REPLACE

अपनी तालिका क्वेरी बनाएँ

create table providers (provider_id text not null, provider_name text not null, provider_channel_id text not null, channel_name text not null);CREATE UNIQUE INDEX channel_id ON providers (provider_channel_id); 

मेरे सम्मिलित है या बदलने क्वेरी

INSERT OR REPLACE INTO providers (provider_channel_id, channel_name, provider_id, provider_name) VALUES ('1', '2', '3', '4') 

धन्यवाद

+0

यह सेट क्यों आप 'provider_id' स्तंभ बनाने लेकिन' provider_channel_id में डालने चाहिए कॉलम? – Sieryuu

+0

provider_channel_id वह कॉलम है जिस पर संघर्ष का पता लगाना चाहिए, क्वेरी कॉलम में ऑर्डर के बाहर हैं :) – TilalHusain

उत्तर

4
इस पोस्ट पर

देखो है: (यह मानते हुए आप Sieryuu की टिप्पणी की समीक्षा की है)

How do I UPDATE a row in a table or INSERT it if it doesn't exist?

आप केवल एक पंक्ति को बदलने में सक्षम होना चाहिए।

+3

यह मुझे सही दिशा में इंगित करता है, एक बात यह भी है कि हमें rawQuery के बजाय execSQL विधि का उपयोग करके इन प्रश्नों को चलाने के लिए है। – TilalHusain

+0

मेरी समस्या को execSQL() विधि का उपयोग करके भी हल किया गया –

3

समाधान है कि मैं डालने के बजाय .replace पाया आप भी तालिका में एक पंक्ति आईडी होना और के रूप में प्राथमिक कुंजी

bdd.replace(table,null, contentValues); 
संबंधित मुद्दे