【发布时间】:2018-09-30 09:12:12
【问题描述】:
我有一个包含游戏信息的数据库。每个游戏都以 cat1、cat2、cat3 的形式分配了类别。 我的表结构
games (
id int not null auto_increment,
name varchar (100) not null,
...
cats varchar (200) not null,
FULLTEXT INDEX fulltext (cats)
primary key (id)
)engine=myisam charset=utf8;
要搜索特定类别的游戏,我使用以下查询:
SELECT * FROM games WHERE MATCH(cats) AGAINST('action' IN NATURAL LANGUAGE MODE)
现在,如何显示不包含“动作”类别的游戏? 例如,我想在cats字段中显示所有不包含“action”字样的游戏。
你有什么想法吗?
【问题讨论】:
-
我认为您需要规范化您的数据。创建另一个表
game_to_cat并将game_id和cat_id存储在那里,而不是将它们存储为逗号分隔值。
标签: mysql