我有一个产品表,并需要实施一个可用性系统,以便能够过滤产品的工作日(例如,产品只有在星期五)。我不确定是否应该添加一个“availability”列,其中包含7个逗号分隔的bool值,每个值代表每个工作日,或者添加7个不同的列。我不太喜欢csv方法,它也需要后期处理来过滤数据,但是多列方法在我看来是一种不好的做法。我在想,但在一个单独的表格,如产品的形式
| id | mon | tue | wed | etc...
我应该用什么方法?
vlju58qv1#
多个字段。如果没有,在进行任何处理之前,您需要将数据提取到编程语言中。你将无法索引数据。阅读数据库规范化
qrjkbowd2#
您应该使用多对多表产品:
product_id | day | availability
或一个表产品中的json字段(如果使用MySQL5.7+)https://dev.mysql.com/doc/refman/5.7/en/json.html
...fields | availability JSON_TYPE('{1:true, 2:false...}');
2条答案
按热度按时间vlju58qv1#
多个字段。
如果没有,在进行任何处理之前,您需要将数据提取到编程语言中。你将无法索引数据。
阅读数据库规范化
qrjkbowd2#
您应该使用多对多表产品:
或一个表产品中的json字段(如果使用MySQL5.7+)https://dev.mysql.com/doc/refman/5.7/en/json.html