从MySQL数据库中搜索LongBlob列中的文本

时间:2014-08-29 04:34:15

标签: mysql sql database blob

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

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

我不确定我在这里做错了什么

1 个答案:

答案 0 :(得分:0)

在搜索之前投放一个大字段不是一个好主意。

您可以在表格中添加FULLTEXT索引,但必须将longblob字段转换为longtext或将字段设为副本,然后:

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

您可以搜索:

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

会更快