можно ли искать текст сразу по всей БД?

Discussion in 'PHP' started by Дикс, 8 Dec 2008.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    сейчас, чтобы найти что-нибудь, типа текста из темплейта в БД mysql - я делаю экспорт всех таблиц ДБ и ищу этот текст в дампе.

    можно ли написать запрос типа
    select * from database where любое_поле.любой таблицы like('%нужный_текст%')

    ?
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
     
  3. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    блин, если несложно, приведите просто примеры плз
    на работе башка пухнет, нет времени читать доки. мне просто хочется знать, возможно ли это и насколько сложно
     
  4. m0nsieur

    m0nsieur Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    Подготавливаешь таблицу добавляя индекс FULLTEXT ко всем полям по которым будет производиться полнотекстовый поиск, так делаешь во всех таблицах по которым собираешься искать.
    Code:
     ALTER TABLE `table_name` ADD FULLTEXT ('column_name')
    А вот так примерно ищешь, другие колонки добавишь через join
    Code:
    SELECT * FROM table where MATCH (column1,column2) AGAINST ('текст_для_поиска')
     
  5. FeoЩту

    FeoЩту New Member

    Joined:
    13 Nov 2008
    Messages:
    29
    Likes Received:
    4
    Reputations:
    0
    по всей бд найти нельзя, только по таблицам, а любое_поле = *