Russian Qt Forum
Ноябрь 23, 2024, 18:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Пересобрать драйвер sqlite с ключом SQLITE_ENABLE_UPDATE_DELETE_LIMIT.  (Прочитано 3405 раз)
alexman
Гость
« : Ноябрь 24, 2012, 10:56 »

Необходима поддержка запроса UPDATE с ключом LIMIT. Согласно документации http://www.sqlite.org/lang_update.html необходимо собрать драйвер с ключом SQLITE_ENABLE_UPDATE_DELETE_LIMIT.

Что делаю: добавляю в начало файла sqlite3.c строчку '#define SQLITE_ENABLE_UPDATE_DELETE_LIMIT 1'.
Запрос 'UPDATE TableName SET Field='123' LIMIT '345', '1'' не парсится. Что не так сделал?

P.S. пожалуйста, не рассказывайте, что можно обойтись без LIMIT.
Записан
alexman
Гость
« Ответ #1 : Ноябрь 26, 2012, 09:32 »

В общем так и не удалось собрать драйвер с ключом SQLITE_ENABLE_UPDATE_DELETE_LIMIT Грустный
Проблему решил следующим образом: изменил запрос на запрос с подзапросом. Все прекрасно работает и ключ не нужен Улыбающийся
Код:
UPDATE TableName SET Field='123' WHERE ROWID IN (SELECT ROWID FROM TableName LIMIT '345', '1')
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.143 секунд. Запросов: 21.