实施例。我有一个约会网站的数据库。用户希望搜索其他用户并将此条件保存在数据库中。
现在我有一个存储每个用户的表
Search Table
------------
ageLower = 21
ageUpper = 25
HairColorId = 44 (mapped to Blonde)
然后,我从该表中获取每个字段以执行常规搜索。
例如,HairColorId = 44。
如果用户想要选择多于1个首选项(例如),搜索的最有效方法是什么
Search Table
-----------
ageLower = 18
ageUpper = 25
HairColorId = 44,45(金发或RedHead但不是黑发)
Hair ColumnId是否成为文本字段而不是int? 搜索将是..其中HairColourId在哪里(44,45)。
如果用户决定hairColor不重要,我该如何处理输入?
或者我应该取消此表格结构并从一个大文本字段构建搜索查询吗?
答案 0 :(得分:1)
MySQL有一个SET类型列。它允许您为单个列指定一组值,例如头发颜色,以及一组预定义的值。您可以根据需要根据值进行选择。如果您不关心该值,则可以跳过过滤操作中的列。