将一个表分配给另一个表的正确和安全的方法是什么

时间:2017-10-06 17:13:53

标签: php sql

有两张桌子,工人和工作。绝对任何人都可以创造就业机会。创建新作业时,没有为其分配工作人员。但是当任何工人找到工作时,工作的worker_id会设置工人的身份

现在它结束了这个结构

workers
id

jobs
id
worker_id int default -1

默认情况下,任何作业都有一个worker_id -1,但是当工作人员接受一个作业时,worker_id会设置该工作人员的ID。

UPD。我知道外键。但问题是我必须使用什么默认值。或许在这种情况下,有更好的方法,我不知道。

1 个答案:

答案 0 :(得分:0)

我建议使用中间表来保存有关工人/工作关系的信息

jobAssignment:
 - job_id
 - worker_id
 - PK(job_id, worker_id)

要将工作人员分配给作业,只需在此表中插入一行以及相应的ID,即可取消分配,只需删除该行。