SQLite3, объединяющий несколько операторов INSERT? - PullRequest
1 голос
/ 08 декабря 2010

Я уверен, что должен быть простой ответ на этот вопрос, но все, что я погуглил, кажется, усложняет ситуацию, и теперь я не уверен.

Итак, вот что мне нужно сделать, чтобы вставить записи в мою таблицу сейчас

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');

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

Ответы [ 5 ]

3 голосов
/ 12 февраля 2012

Попробуйте использовать следующую фразу:

INSERT INTO table(field1,field2) SELECT "value1","value2" UNION SELECT "value1","value2" ...
2 голосов
/ 08 декабря 2010

Вот официальная ссылка:

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;
1 голос
/ 08 декабря 2010

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

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

1 голос
/ 08 декабря 2010

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

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

Для чего вам это нужно?

0 голосов
/ 16 февраля 2012

простой способ - сохранить значения 1 и 2 в массиве и использовать цикл for, например,

.
for(int i = 0;i< value1.length,i++)
{
INSERT INTO CAT_BUD_TAB (_id, CAT_ITEM, IN_OUT) VALUES (null, 'value1[i]', 'value2[i]');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...