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

如何从mysql中的varchar(逗号分隔)字段中搜索单词?,mysql,Mysql,我有一张桌子 table_电影 现在我只想显示那些actor\u name和muid,它们的mov\u 1(来自php)在电影列表中 如果我使用EXIST则显示错误,我的查询写在下面 `SELECT muid,actor_name FROM table_movie WHERE $movieID EXIST( movie_list)` 我也尝试过类似的RLIKE,但没有结果( 请告诉我如何从varchar字段中搜索单个单词 笔记 我的表格引擎是INNODB,所以fultext搜索概念也失

我有一张桌子

table_电影 现在我只想显示那些
actor\u name
muid
,它们的
mov\u 1
(来自php)在
电影列表中

如果我使用
EXIST
则显示错误,我的查询写在下面

    `SELECT muid,actor_name FROM table_movie WHERE $movieID EXIST( movie_list)`
我也尝试过类似的
RLIKE
,但没有结果(

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

笔记 我的表格引擎是INNODB,所以fultext搜索概念也失败了

怎么办

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'
?

编辑:我修改了查询以将注释考虑在内。有点难看,但我想它会起作用。忘记性能。另一个问题是标题中有逗号


如果你可以修改这个模式,你就可以有一个“电影”表和一个“演员电影”表。

好吧,我的第一个评论是,也许你可以将这个表重新构造成一个规范化的表-查询会简单得多。我应该优先考虑什么结构?尽管,如果
$movieID
包含在另一个电影标题/id中,你可能会遇到问题。。。取决于您所需的功能。如果您搜索“星球大战”(不区分大小写),您是否也应该取回所有《星球大战》电影?
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'