2017-10-06 4 views
-4

2つのテーブル、ワーカーとジョブがあります。絶対に誰でも仕事を作ることができます。新しいジョブが作成されると、割り当てられたワーカーはありません。すべての労働者が仕事を取るときに、ジョブのworker_idワーカーデフォルトであるテーブルを別のテーブルに割り当てる正しい、安全な方法は何ですか

今ではこのような構造になってしまう

workers 
id 

jobs 
id 
worker_id int default -1 

のIDを設定します。しかし、どのジョブが-1 worker_idを持っていますが、労働者が取るとき仕事であればworker_idは作業者のIDを設定します。

UPD。私は外来キーについて知っています。しかし、問題は、私が使用しなければならないデフォルト値です。あるいは、このような状況で私が知らないより良い方法があります。

+0

あなたが尋ねていることは不明ですが、単に外部キーを探しているようです。 – Simon

+0

あなたの質問を理解しようとしています。あなたは、 'workers'テーブルのid(workers)だけがjobsテーブルのworker_idに割り当てられるようにする方法を尋ねるのですか? – Valli

+0

これがあなたの質問だったら@Simonが示唆しているように、それは外部キーでなければなりません。 – Valli

答えて

0

私はちょうど除去割り当てを解除するために、対応するIDを持つこの表に行を挿入

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

ジョブに作業者を割り当てるワーカー/仕事関係の情報を保持する中間テーブルを示唆する行。

関連する問題