Ver Mensaje Individual
  #1  
Antiguo 27-06-2012
kdemia kdemia is offline
Miembro
 
Registrado: may 2010
Posts: 109
Reputación: 14
kdemia Va por buen camino
Exclamation problema con consulta sql con Match Against

Que tal gente, tengo un problema. Estoy desarrollando una aplicacion de gestion de productos con delphi 2010 y mysql, conectado mediante ADO. De cada producto tengo, entre muchos campos, uno que se llama "descripcion" que es de tipo TEXT donde guardo "tags" de cada producto para poder realizar una busqueda avanzada, por ejemplo de un televisor un tag posible puede ser 32" (pulgadas), entonces en la busqueda avanzada enumero X cantidad de tags y me busca aquellos productos que en su descripcion contengan alguno de los tag enumerados. Por ejemplo tengo un Televisor que tiene de tags 32" - HDMI - HD (un tag abajo del otro) y otro Televisor con que tiene 32" USB HD, bien, ahora yo en delphi tengo un Memo donde pongo 32" y HD, nuevamente separados por un enter, entonces para realizar la busqueda tengo el siguiente codigo
Código Delphi [-]
for i := 0 to descripcion.Lines.Count - 1 do
      if i = 0 then
        sql:= sql+'and ((MATCH(p.descripcion) AGAINST ("'+
          descripcion.Lines[i]+'"))'
      else
        sql:= sql+'or (MATCH(p.descripcion) AGAINST ("'+
          descripcion.Lines[i]+'"))';
    if FBusquedaAvanzada.descripcion.Lines.Count > 0 then
      sql:= sql+')';

Aclaro que antes hay un "AND" porque hay varias cosas atras.

Bien el problema es que me tira la siguiente excepcion:

Project Project1.exe raised exception class EOleException with message '[MySQL][ODBC 5.1 Driver][mysqld-5.5.8-log]The used table type doesn't support FULLTEXT indexes'.

y luego su correspondiente error:

[MySQL][ODBC 5.1 Driver][mysqld-5.5.8-log]The used table type doesn't support FULLTEXT indexes.

Como puedo resolverlo? (se que es por culpa del MATCH AGAINST pero nose como resolverlo)

Saludos y espero haber sido claro. Gracias!

Última edición por kdemia fecha: 27-06-2012 a las 08:48:58. Razón: titulo incompleto
Responder Con Cita