我试图创建一个数据透视表来帮助跟踪我的应用程序中的“挑战”。基本上我有一个challenge_task
数据透视表,创建一个挑战和任务之间的关系。当处于挑战状态的用户完成我想要分辨的任务时,我可以跟踪用户的进度。存储多个用户完成挑战任务的最佳方式是什么?将多个值存储在一个数据库列中
我在数据透视表中考虑添加一个名为user_completed
的json
列来处理这个问题,并为每个完成挑战任务的用户存储user_id
。
所以challenge_task
会是什么样子
challenge_id | task_id | user_completed
这是一个好办法吗?还是有什么更适合这一点?
“在一个数据库列多个值”几乎总是一个坏主意。 – Uueerdo
@Uueerdo如果一个挑战只有两个用户,那么我应该像数据透视表上的'user_a_completed'和'user_b_completed'列一样,并在用户完成时添加'user_id' – Packy
只需每次创建一个新行。无需将多个用户标识存储在一行中。 –