Запрос SQL вызывает сбой Python - PullRequest
3 голосов
/ 01 октября 2011

Следующий запрос приводит к сбою python ('python.exe столкнулся с проблемой ...' Процесс завершен с кодом выхода -1073741819

Запрос:

create temp table if not exists MM_lookup2 as 
select lower(Album) || lower(SongTitle) as concat, ID    
from MM.songs    
where artist like '%;%' collate nocase 

Если я изменяю с «как» на =, он работает как ожидалось, например,

create temp table if not exists MM_lookup2 as 
select lower(Album) || lower(SongTitle) as concat, ID    
from MM.songs    
where artist = '%;%' collate nocase 

Я использую Python v2.7.2 с любой версией sqlite, которая там поставляется.

Проблемный запрос выполняется без проблем за пределами Python.

1 Ответ

0 голосов
/ 27 сентября 2012

Вы не написали используемую систему базы данных / драйвер. Я подозреваю, что ваш SQL является проблемой. Символы% должны быть экранированы. Возможно, модуль драйвера БД пытается интерпретировать% и%) как символы формата и не может преобразовать несуществующее значение параметра в формат, приемлемый для базы данных базы данных.

Не могли бы вы дать нам конкретный код Python? Можете ли вы попробовать выполнить тот же запрос, но поместив значение «%,%» в параметр, и передать его курсору в качестве параметра?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...