2010-12-08 2 views
1

Я уверен, что на этом должен быть простой ответ, но все, что я искал, похоже, усложняет ситуацию, и теперь я не уверен.SQLite3, объединяющий несколько инструкций INSERT?

Так вот что я должен сделать, чтобы вставить записи в моей таблице Теперь

INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'Student Loan', 'out'); 
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'Food', 'in'); 

я сообразить должен быть более короткий путь, что-то вроде ..

INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'Student Loan', 'out'),(null, 'Food', 'in'); 

Я m using SQLite, поскольку я разрабатываю для android, но я уверен, что это SQLite3, что означает, что INSERTS, как и выше, должно быть возможно правильно? Как мне это сделать?

+1

Этот вопрос также был дан ответ здесь: http://stackoverflow.com/questions/1609637/is-it-possible-to-insert-multiple-rows-at-a-time-in-an-sqlite-database – McStretch 2010-12-08 15:29:36

+0

Да, я получал смешанные сообщения и ты ht, возможно, с изменениями произошли изменения с прошлого года, спасибо. – Holly 2010-12-08 15:35:34

ответ

0

простой способ сохранить значение1 и значение2 в массив и использовать для контура как

for(int i = 0;i< value1.length,i++) 
{ 
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'value1[i]', 'value2[i]'); 
} 
2

Вот официальная справка:

http://www.sqlite.org/lang_insert.html

Тем не менее, представляется возможным:

insert into myTable (col1,col2) 
    select aValue as col1,anotherValue as col2 
    union select moreValue,evenMoreValue 
    union... 

Кроме того, рекомендуется использовать такие вещи, как:

begin transaction; 
insert into ...; 
insert into ...; 
etc. 
commit; 
+0

oh bummer Спасибо за то, что он меня расчистил. – Holly 2010-12-08 15:30:38

1

Я не Не знаю, как объединить несколько вложений. Я думаю, что это невозможно!

Используйте транзакции и подготовленные отчеты, если вы хотите вставить длинный список за очень короткое время.

Для чего это необходимо?

1

Документы по синтаксису SQL, понятые SQLite, по-видимому, указывают, что только один набор из VALUES может использоваться с каждым оператором INSERT.

http://www.sqlite.org/lang_insert.html

3

Try использование личных данных, как folowing:

INSERT INTO table(field1,field2) SELECT "value1","value2" UNION SELECT "value1","value2" ... 
Смежные вопросы