给出一个数组,搜索其中的任意2个字段,这样的mysql数据库应该怎么设计呢?
比如说我有一个数组:['空气', '氧气', ‘氮气’, '氯气', '氟气']。现在我想要根据数据库里保存的数据,比如数据库有条记录:空气 + 氧气 = 水。搜索数据库并列出这个数组里所有气体之间能发生的化学反应。那么数据库应该只返回有1条结果:空气 + 氧气 = 水
我现在打算这么新建一个表:
id keywords result
1 空气+氧气 水
请问这样要搜索['空气', '氧气', ‘氮气’, '氯气', '氟气']里所有2个气体的组合,这个表这么设计好么?还有其它好的设计么?最后这个查询怎么写比较好呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
表设计:comb(id, key1, key2, result)
索引:unique(key1, key2)
插入数据:要先排序,取两两组合
查询:对查询条件排序,保证一致性,如输入是氧气、氮气,排序查询为氮气、氧气。
查询:
插入数据构造python示例:
输出