Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > sqllite multi INSERT


Автор: sono 6.6.2011, 01:53
делаю приложение которое предполагает работу с данными, в качестве хранилища выбрано  sqllite, но столкнулся с проблемой дело в том что мне нужно делать множественные insert & select в базу
но если с селектом дело нормально обстоит то вот с инсертом вообще никак, точнее с множественным инсертом
вот например инсерт одной записи
Код

INSERT INTO test (expires, host, isDomain, isSecure, name, path, policy, status, value)  VALUES 
 ('1902921657','.hotlog.ru','true','false','hotcli','/','0','0','dae09f0c94d2966ab3012f593f3c81')

работает нормально, а вот вставка нескольких строк
Код

INSERT INTO test (expires, host, isDomain, isSecure, name, path, policy, status, value) VALUES
 ('1902921657','.hotlog.ru','true','false','hotcli','/','0','0','dae09f0c94d2966ab3012f593f3c81'),
('1338236106','.vkontakte.ru','true','false','remixchk','/','0','0','5')


не работает
ведь должно  работать, вроди как, а не хочет
конечно можно сделать в цикле "одиночные инсерты" но в таком случае уже при даже 50 итерациях о  продуктивности и говорит нечего

что я делаю не так?

Автор: Gluttton 6.6.2011, 08:11
Цитата(sono @  6.6.2011,  01:53 Найти цитируемый пост)
что я делаю не так?

Если не ошибаюсь, то нельзя одним INSERT'ом (имеется в виду вариант INSERT ... VALUES ...) вставить несколько записей.
Необходимо либо несколько раз использовать INSERT, либо использовать один INSERT (без предложения VALUES), и вставлять объедененные результаты запроса:
INSERT ...
SELECT ...
UNION ALL
SELECT ...
...

http://ru.wikipedia.org/wiki/Insert_%28SQL%29

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)