如何从mysql中的varchar(逗号分隔)字段中搜索单词?

时间:2010-05-27 12:32:31

标签: mysql

我有一张桌子

table_movie

    mid  muid   actor_name          movie_list(varchar)
    18  act_6   tom hanks       mov_18,mov_19,mov_2,mov_22,mov_23 
    21  act_9   jhonny depp     mov_1,mov_10,mov_20,mov_22,mov_3,mov_9
    28  act_16  bruce willis    mov_18,mov_19,mov_2,mov_22,mov_23 
    29  act_19  jhon trovolta   mov_1,mov_10,mov_20,mov_22,mov_3,mov_9

现在我想只在actor_name

中删除那些muidmov_1 movie_list(来自php)的EXIST

如果我使用 `SELECT muid,actor_name FROM table_movie WHERE $movieID EXIST( movie_list)` 然后显示错误,我的查询将写在下面

RLIKE

我也试过{{1}}但没有结果!:(

请告诉我如何从varchar字段中搜索单个单词

注意

我的表引擎是INNODB所以全文搜索概念也失败了

1 个答案:

答案 0 :(得分:0)

怎么样?
SELECT muid,actor_name FROM table_movie WHERE movie_list LIKE '%,$movieID,%'
OR movie_list LIKE '%,$movieID'
OR movie_list LIKE '$movieID,%'
OR movie_list LIKE '$movieID'

编辑:我修改了查询以考虑注释。有点难看,但我想它会起作用。忘记表现。另一个问题是带有逗号的标题。

如果你可以修改schem,你可以有一个'movie'表和'actor_movie'表。