【发布时间】:2017-10-09 00:43:13
【问题描述】:
我是 MySQL 和所有与编码相关的新手,我需要你的帮助! 我有一个包含以下列的表:
table1
~~~~~~
id,
question,
answer,
keywords.
“关键字”列包含多个单词,中间有逗号(例如:word1、word2、word3 等...) 我有一个搜索机器人(用 PHP 编写) 每当用户提出问题时(问题应转换为数组/关键字) 那么查询应该搜索关键字以找到包含最匹配关键字的行并显示答案。
有正确的方法吗? 提前谢谢!
【问题讨论】:
-
是的。请参阅规范化。
-
正确的方法应该是规范化你的表格。CSV(逗号分隔值)很难查询
-
如果要精确匹配关键字就不行,否则可以在查询中使用LIKE进行搜索
-
住手!以爱的名义,在你伤透我们的心之前。 youtube.com/watch?v=NPBkiBbO4_4 想一想。不要进行这种 a,b,c 数据格式设置,除非某些傻瓜给你留下了这种数据格式。规范化您的数据。为这种一对多关系添加一个新表。现在就做。