2014-08-29 46 views
0

我有一个mysql数据库,列名为col1,类型为LONGBLOB。我想要搜索col1中包含名为'false'的字符串的所有行。这是我使用的查询,但我得到一个空集从MySQL数据库中搜索LongBlob列中的文本

select * from Test t where CAST(t.col1 AS CHAR(10000) CHARACTER SET utf8) 
    like '%false%'; 

我不知道我在做什么错在这里

回答

0

铸造一个大场之前的搜索是不是一个好主意。

您可以添加一个FULLTEXT索引的表,但您必须在longblob字段转换为长文本或做出一个字段作为它的副本,然后:

create fulltext index `ilongtext` on Test(col1_copy); 

您将能够搜索,如:

select * from Test where match (col1_copy) against ('+false'); 

它会更快