Проблема с тригерами SQLite

Рейтинг: 2Ответов: 1Опубликовано: 14.12.2014

У меня возникла такая проблема. Я пытаюсь добавить в таблицу информацию. Но браузер выдаёт ошибку

"No Data Received"

Пользуюсь SQLite. Вставка примитивная:

$db->exec("INSERT INTO mapseasy VALUES ('TEST2', 'TEST', '1234')");

Тут же открываю эту базу данных через Менеджер SQLite и добавляю вручную - всё замечательно. Я думаю, что проблема в том, что у меня имеются несколько тригеров. И именно они (AFTER INSERT) что-то блокируют либо прерывают... Я несколько часов пробовал различные варианты, ничего не помогает. И ещё в каталоге, где находится база данных, создаётся файл с расширением .sqlite-journal. Проходит минуты 2, файл удаляется, браузер возвращает пустую страницу.

Я думаю, что этот файл создаётся, когда в БД посылается очень сложный запрос? Но у меня запрос примитивный, и время на выполнение тригеров на ПК тратится очень мало, может быть, на сервер стоит какое-нибудь ограничение?
Буду благодарен, если подскажете что-нибудь. Спасибо.

Ребят, я ещё почитал. Пишут, что SQLite блокирует базу для одного пользователя. То есть получается, что я делаю запрос с сайта (php файл), а тригеры исполняются от имени пользователя системы? Может быть, поэтому возникает конфликт какой-нибудь?

Ответы

▲ 1Принят

В запросе не перечислены поля, которые вставляются, должно быть так:

INSERT INTO mapseasy (field1, field2, field3) VALUES ('TEST2', 'TEST', '1234');