SQL查询导致python崩溃

时间:2011-10-01 14:18:11

标签: python sqlite

以下查询导致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 :(得分:0)

您没有编写正在使用的数据库系统/驱动程序。我怀疑你的SQL是问题所在。 %字符需要转义。可能db驱动程序模块尝试将%和%)解释为格式字符,并且它不能将不存在的参数值转换为数据库后端可接受的格式。

你能给我们具体的Python代码吗?您能否尝试运行相同的查询,但将'%,%'的值放入参数中,并将其作为参数传递给游标?