Search code examples
mysqlsearch-engine

mysql return table name


let's say i have this mysql table structure:

table : articles
----------------
id
content

table : news
------------
id
news

is there a way to search for a string in this two tables and then if the string occurs to return the table's name and the row id ?


Solution

  • Assuming that the two tables have the same datatypes for id and news/content then a query along the lines of

    SELECT id, 'articles' as tablename
    WHERE content like '%string to search for%'
    UNION
    SELECT id, 'news' as tablename
    WHERE news like '%string to search for%'
    

    Should give you the result you're after