Mysql 具有ID和关系的多对多表
我正试图建立一个数据库,其中有一个管理员 可以创建包含任务的列表,现在棘手的是,所有用户都可以将任务设置为已完成,但只能为自己设置 这是我目前的计划Mysql 具有ID和关系的多对多表,mysql,database,Mysql,Database,我正试图建立一个数据库,其中有一个管理员 可以创建包含任务的列表,现在棘手的是,所有用户都可以将任务设置为已完成,但只能为自己设置 这是我目前的计划 这是一种正确的处理方法吗?您实际上不需要completed标志,因为如果任务没有完成,添加行就没有意义了 create table user_list_tasks_completion ( user_id int references users(user_id), list_task_id int references list_tas
这是一种正确的处理方法吗?您实际上不需要
completed
标志,因为如果任务没有完成,添加行就没有意义了
create table user_list_tasks_completion (
user_id int references users(user_id),
list_task_id int references list_tasks(id),
primary key (user_id, list_task_id)
);
“所有用户都可以将任务设置为已完成,但只能为自己。”这是应用程序逻辑的一部分,数据库不需要这样做,对吗?或者您的问题是将此逻辑合并到数据库层?谢谢您的回答。我的意思是,对于用户id和任务id,完成的字段应该是唯一的……只要您对
用户id
和任务id
表中的用户id
有唯一的约束,那么您就很好。所以在多对多表中有一个ID字段并将其与user\u tasks表关联可以吗?以前从未这样做过,但我看不出有其他方法。谢谢